2007年7月26日木曜日

MySQLメモリ使用量の計算

って、どうやればいいんだろう??
と思って調べてみたらドンピシャのエントリを発見。
http://antas.jp/blog/ina/archives/2007/05/mysql_1.html

max_connections *
(sort_buffer_size
  + join_buffer_size
  + read_buffer_size
  + read_rnd_buffer_size
  + max_allowed_packet) <-- カッコ内は1接続あたりの使用メモリ
+ key_buffer_size
+ query_cache_size
+ innodb_buffer_pool_size
+ innodb_additional_mem_pool_size
+ innodb_log_buffer_size

ということです。参考にさせていただきました。

php.iniのmax_execution_timeとmax_input_time

先日、php.iniのmemory_limitをいじっていたら、そのすぐ上のところに

max_execution_time
max_input_time

という2つのパラメータがあり、気になったので調べてみました。


max_execution_time
スクリプトがパーサにより強制終了されるまでに許容される最大の 時間を秒単位で指定します。この命令は、いい加減に書かれた スクリプトがサーバーの負荷を上げることを防止するのに役立ちます。 デフォルトでは、30 に設定されています。
max_input_time
スクリプトが POST、GET そしてファイルアップロードなどの入力を パースする最大の時間を、秒単位で指定します。


自分が管理してるウェブアプリでは処理のボリュームが大きいスクリプトがいくつかあるので、デフォルト値より大きめの数字にしておきました。

「PHP Fatal error: Allowed memory size of 8388608 bytes exhausted」に遭 遇した

メモリが足りなくなるとこのエラーを吐くようです。
対処方法はメモリ量を増やすこと。
php.iniのmemory_limitの値を調整します。デフォルトで8Mになっているのを32Mにしたらエラーが出なくなりました。
php.iniを編集したら、apache再起動を忘れずに。。

mysqlでバイナリログを記録しない

my.cnfの
log-bin=mysql-bin
の行をコメントアウトするだけです。
大量のSQLを発行する場合など、ログを取るのと取らないのではSQLの実行速度がけっこう変わってくるようです。
あらかじめバックアップを取ってから大容量のバッチを実行する場合や、テスト環境などではバイナリログは取らないほうが効率が上がると思います。

2007年7月15日日曜日

Linuxでコマンドラインからメール送信

たまーに使うときに忘れてることがよくあるのでメモっておきます

$ mail -s 'subject' mailto@example.com
Enter mail body
[Ctrl+D]を2回

2007年7月5日木曜日

スタイルシートのborderピクセル指定の罠

フォントの大きさ、widthにheightなどなど、スタイルシートを使ってピクセル指定をすることはよくあります。
font-size:12px; とか width:100px; などです。

このピクセル指定はpxを記述しなくても問題なく動作します。font-size:12; とか width:100; という感じ。

これと同じように、 border:1 solid #000; なんて具合に使っていたんですが、これはFireFoxではうまく動作しないようです。(IEはOK)

FireFoxでもちゃんと動かすには border:1px solid #000; ってやらないとダメ なようです。
ついさっき気が付きました。。