2006-06-17 ウィスパー2―その5―
ウィスパー2の開発記録,今回が最終回です。
解決した問題点
- 運用サーバの性能に難点 ― その後いろいろやって2.3倍速にできました。サーバの性能と合わせると2.3×1.5=3.4倍速となりました。目標は2倍速だったので作戦大成功なのです
- 初回起動直後のクエリに時間が掛かる ― SELECT文を生で投げてみたら,レコードの抽出速度にムラがある感じ。インデックスをつけたら性能が改善しました
- UNIQUE制約でエラー ― 原因はCTRL+Cではありませんでした。その後も不具合が再発。発生頻度は5万分の1くらいで再現させるのに苦戦。細かくログを出力するようにして網を張ってみたら,原因の捕獲に成功しました。従来の重複チェックでは引っ掛からない箇所で重複レコードが生まれていました。修正したら直りました
運転計画の関数を修正
ウィスパー2には時刻に応じて,サーバホストに掛かる負荷を調節する機能があります。計画段階では時刻を離散値で計算する予定でしたが,連続値で処理することにしました。ただ1次関数で近似しただけですが。実際に動かしてみると適切というか,つなぎ目がなくて滑らかになりました。
<画像の説明>ウィスパー2で使っている運転計画関数の出力値。上が離散値,下が連続値による算出結果。
ウィスパー3の一部を先行
ウィスパー2の作業は6月末までやるつもりでいました。ちょっと開発を急ぐことにして,6月中にウィスパー3の一部も実装してしまうことにしました。