« レセ印刷が遅い | トップページ | 3.0b01073リリース »

100% -> 20%

iMacで運用を始めると、待機状態をやめてもCPUの使用率が100%になってしまいました。
これでは、さすがにマズイので根本的な原因をさぐるべくテスト用のDBを作っていろいろ試験をしてみました。
結論としては、いわゆる4Dの雪だるま現象という奴が原因でした。これは一定のコマンドを連続して実行し続けるとスレッドのスケジューラーが対応できずに処理が滞ってしまうというものです。電話でいうところの輻輳ですね。
そこで、適当にディレイをいれることで負荷を軽くするようにしたら、待機状態で20〜50%、待機状態を切れば、10〜20%程度の使用率に下げることができました。細かなチューニングは設定画面で調整できるようにしました。
また、最大接続数というのを設定に設けました。これはクライアントの接続数がこの数に達すると待機状態を止めるものです。
日常接続するクライアント数を指定しておけば、いちいち設定画面を開く必要はなくなりました。

2004 11 18 [バグとの戦いの日々] | 固定リンク

トラックバック

この記事のトラックバックURL:

この記事へのトラックバック一覧です: 100% -> 20%:

コメント

コメントを書く