« PHP掲示板高速化 | メイン | 描画速度3倍 »
2004年02月02日
共有メモリアタッチの落とし穴 |
出社日。新検証機の構築はほぼ完了。早速ベンチマークを取ってみたが、CPUは8倍高速なのに描画処理は2倍強しか速くなっていない。 どこかにボトルネックがあるようだ。
いろいろ調べたところ、サーバプログラムが子プロセスを生成するためfork処理をしているところで遅延が生じているようだ。 サーバプログラムは300MB以上の共有メモリの管理も行っている。 forkするとその共有メモリのリソースもコピーするようで、forkのコストは親プログラムが抱えるメモリ使用量に比例して大きくなるようだ。 試しに共有メモリの大きさを10kbにしてみたところ、全体の処理速度は実に50倍も速くなった。 対策としては共有メモリを使わないか小さくするかだが、そうはいかないので、共有メモリを作成/管理するモジュールを新規に作成し、既存のサーバプログラムは共有メモリのキーなど必要最小限の情報だけを引き継ぐことで処理の改善を図ることとした。 果たして吉とでるか凶とでるか、出たとこ勝負である。
【他の年の本日の日誌】
2008:
2008:
JALアワード変更で追加出費 事務所へ搬入する物品の整理。最大のPCテーブルを分解して運ぼうとしたが、どうやらはめ込み式&ボンド接着のようで、不可逆分解になると判断。現状のまま運搬せざるをえ
2007:NZ遠征2007(8)〜南島からオークランドへ移動 (画像は後日) 8:30チェックアウト。ここもKeyDropに鍵を投入するだけでチェックアウト完了。 SH6などをメインに走行。 途中Kingston Flyerという看板を目撃。周囲には線路もある。 廃線後と思いきや、観光鉄道として存続(...
2006:ライブドア株買い増しできず 昨日の地震の影響ではないが、わし自身が遅延。 昨日のリリース後の挙動は概ね順調だったが、新機能の一部で修正不十分による機能欠陥がみつかった。 すぐさま原因調査し、パッチをあてた。 ライブドア株価は昨日ついに100円の大台を割り込んだが...
2005:メール攻撃 出陣。先日の不具合調査。 スタックオーバフローが原因。メモリ破壊を起こし、SegFaultとなった。 mallocするサイズを拡大して対応した。 別途メインのプロジェクトの資料作成。今日は早く帰れると思ったがメール攻撃により例の通り遅くなっ...
2003:生死の狭間 先日からの疫病神はようやく退去しかかっている。熱は治まり、本日は引き続き、咳と痰を残すのみ。一時は死ぬかと思ったが個人的には事なきを得そうだ。 あとは妻に伝染しないとよいのだが今のところノープロブレムのようである。 仕事のほうは一部を除い...
投稿者 onsenfan [ プログラミング ] : 2004年02月02日 00:00
この記事が役に立った/おもしろいと思ったら、ワンクリックで応援お願いします
トラックバック
このエントリーのトラックバックURL:
http://blog.odorokutamegoro.com/cgi-bin/mt/mt-tb.cgi/472_0841421802073