Entries from 2008-10-01 to 1 month

ページフォルトの原因になっている関数を特定する方法

SSD のデータを mmap して、秒間数千回ページフォルトするようなケースで、コードのチューニングをしたい。ボトルネックを探したい。どうやればいいんだろ。Linux か Mac OS X (10.5) で。oprofile で見つけられるのかなー。やり方がわからない。dtrace だと…

iostat の値がすごい

これは楽しいわ。 % iostat -k 5 (snip) Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 1.20 3.20 2.40 16 12 sdb 3032.40 1237.60 25558.40 6188 127792Tritonn へデータ追加中はこんな感じ。 avg-cpu: %user %nice %system %iowait %steal %idle 5…

SSD の NCQ まわりのテストをしようとしたら... orz

並走度を高めると NCQ まわりでパフォーマンスが改善するかテストしようと思った → ext2/3 は内部でロックがあるので xfs が必要 → CentOS 5.2 は xfs デフォルトで入らないっぽい → raw disk でパフォーマンス測定すればいいや → ベンチマーク → ベンチマー…

Intel SSD (X25-M) の S.M.A.R.T.

SSD Enhanced SMART ATA feature set Intel® X18-M/X25-M SATA Solid State Drive SMART attribute の 232 と 233 が SSD 関連かなぁ。ドキュメントがない >< $ sudo /usr/sbin/smartctl -d ata -a /dev/sdb smartctl version 5.36 [x86_64-redhat-linux-gnu…

memcached を SSD で動かす方法

Re memcachedのストレージにSSDを使うアイディア - sdyuki-develとりあえず、新たにサーバを開発しなくても、 SSD 全体をスワップに指定 memcached を CPU + SSDドライブ数 * 4 とかに指定 SSD の I/O ってどの程度多重化するといいんだろう (NCQ まわりとか…

linux でスワップを抑制する方法

Kazuho@Cybozu Labs: ウェブサービスにおける SSD 導入にむけて〜検索サービスの可能性 関連スワップをしないように設定 (swapoff) したとしても、実行コードと mmap されたデータはメモリの奪い合いをするのかな。そして swappiness=0 と設定すれば、実行コ…

memcached 座談会雑感

memcached座談会:連載|gihyo.jp … 技術評論社MacBook を修理に持ち込む途中で見てた。まだ第2回の途中までしか見てないけど感想。 mixi の設計がきれい ローカル memcache 導入より、複数台へのライブラリレイヤでの分散のがいいなぁ ウェブサーバ100台に…

運用中の自作 MySQL パッチ一覧 (含む Tritonn, Senna)

MySQL Lists: internals: Re: Const propagation within a non-const expression Kazuho at Work: Using O_DIRECT on Mac OS X Kazuho@Cybozu Labs: Tritonn (MySQL+Senna) の join を高速化 全文検索中に KILL CONNECTION を有効にするパッチ (Tritonn-dev …

DBD::mysql の mysql_auto_reconnect とトランザクションは併用すべきでない?

Setting mysql_auto_reconnect to on is not advised if 'lock tables' is used because if DBD::mysql reconnect to mysql all table locks will be lost. DBD::mysql - MySQL driver for the Perl5 Database Interface (DBI) - metacpan.org って書いてあ…

大容量メモリの確保の話

参照: http://d.hatena.ne.jp/ryocotan/20081006/p1, http://d.hatena.ne.jp/ryocotan/20081011/p1 Windows ってオーバーコミットしなかったような 一気に大量に malloc すると、swap が足りなくて失敗するんじゃないか*1 swap は適宜拡張されて行くのでちょ…

ログを表示しつつ統計を取る方法 (stderr に tee)

以前もやり方を忘れたのでメモ。/dev/fd/2 を tee の出力先に指定すればいい。 % ... | tee /dev/fd/2 | ./stats.plとか。

インターネットとオープンソースとエンドユーザー開発 : Kazuho Oku's Weblog (跡地)

ひさびさに個人ブログ更新→インターネットとオープンソースとエンドユーザー開発 : Kazuho Oku's Weblog (跡地)

linux サーバ上のメモリの ECC 訂正回数を確認する方法

メモリのエラー訂正はサーバでは必須だよという話もあるけど、じゃあ実際どのくらい訂正が発生しているのか。確認するには、/sys/devices/system/edac/mc/mc*/csrow*/edac_mode が S.?ECD.?ED になっていることを確認した上で /sys/devices/system/edac/mc/m…

Q. 1GB の文字列を strlen するのに必要な時間は?

1GB の文字列を strlen するのに必要な時間は何秒でしょう? こういったものをぱっと予測できることは、最適化に取り組む上で必要かなぁ、と思ったので、自分の理解が正しいか確認するためにも、実測してみました。(以下、白地に白文字で書いてあるので、選…