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の一部も実装してしまうことにしました。