スキップしてメイン コンテンツに移動

投稿

6月, 2012の投稿を表示しています

ab(apache bench)コマンド

ab(apache bench)コマンドは、apacheに付属している標準ツール。 ベンチマーク対象のホスト(webサイト)の性能測定ができる。 ■コマンド例 例:同時接続数 100 リクエスト総数 1000 対象URL http://www.hoge.jp/ # ab -c 100 -n 1000 http://www.hoge.jp/ これは、http://www.hoge.jp/に対して、同時100接続をリクエスト総数1000になるまで(同時接続100を10回)アクセスするということになる。 テストサイトなどでベーシック認証が必要なサイトに対しては、次のような感じになる。 # ab -c 100 -n 1000 -A user:password http://test.hoge.local/ ■GET URLエンコードしたクエリストリングを付けるだけなので、簡単。 http://test.hoge.local/serach.php?keyword=%e3%81%82%e3%81%84%e3%81%86%e3%81%88%e3%81%8a 上は、"あいうえお"をUTF-8でURLエンコードした例。 ■POST ちょっと面倒だができる。 非同期通信オブジェクトを使ってPOSTしたことある方ならわかると思う。 まず、POSTする項目のname属性とvalue値(textareaはタグで囲まれた要素の値)で、GETと同じ要領でクエリストリングを記述し、そいつをファイルとして保存する。 # echo -n "keyword=%e3%81%82%e3%81%84%e3%81%86%e3%81%88%e3%81%8a" > postdata で、次のようにabコマンドを実行する。 # ab -c 100 -n 1000 -p postdata -T "application/x-www-form-urlencoded" http://test.hoge.local -p オプションでPOSTデータを保存したファイルを指定し、-T オプションで content-type を指定する。 ■セッション abでアク...

PHPだからと言って

今ね、先行してリリースしたプロジェクトから資産を引き継いで、よく似たシステム作ってる。 LAMPで。 「さーて、.htaccess置いて、エラーメッセージを画面に表示....」 ってやったらさ、 出るわ出るわ... Notice: Undefined variable Notice: Undefined index Notice: Undefined offset の嵐。 おいぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃぃ 「またやってるよ。ほんとに進歩がない」 変数ないんだろ? 配列の範囲超えてるんだろ? よくそんな状態で「テストしました。リリースします」って言えるよ.... あきれてものも言えない。 変数を宣言してないとか、範囲チェックしていないとか、キーチェックしていないとか、あり得ない。 PHP使ってんだから、それぐらいやれよ。 明らかに、不正な値を使ってるだろ、これじゃ。 というわけで、こんな文句を他の社員から言われないように、 こんな感じの.htaccess を開発環境ディレクトリの直下において開発しましょう。 ■PHP 5.3.x で E_STRICT エラーも表示させる場合の .htaccess php_flag display_errors On php_value error_reporting 32767 PHP 5.3.x 以前の E_ALL には E_STRICT は含まれていない。 バージョン E_ALLの値 E_STRICTの値 5.3.x 30719 2048 5.2.x 6143 2048 5.1以前 2047 2048 そのため、全てのエラーを表示したければ、各バージョンのE_ALL値とE_STRICT値の合計を error_reporting の値とすればいい。 なお、PHP 5.4.x は、E_ALL (32767) に E_STRICT も含まれているので、PHP 5.3.x 用に作った .htaccess はそのまま使える。