ある最適化モードでのすべての家庭の失敗の99.9%は、深刻なバグが原因です。マルチスレッドレースなどは、コードのパフォーマンスに非常に敏感です。命令の並べ替えまたはループショートカットは、テストパスをデバッグの悪夢に変える可能性があります。
サーバーは正常に動作し、負荷がかかった状態で明らかに異なる場所で爆発すると想定しているので、従来のデバッグは役に立たないのでしょうか。
点火点を絞り込むには、ログ記録とテスト条件の変更に依存する必要があります。私の推測では、これはコード、最適化、オプション、負荷プロファイル、バッファサイズなどの変更で変化するHeisenbugになるでしょう。
問題を修正しないことは、より多くのコアなどを備えた来年のボックスに別の形で表示されるため、良い計画ではありません。最適化をオフにしても、それはまだそこにあり、潜んでいて、ストライキの機会を待っています。
私は私がいくつかの快適さを提供していることを願っています。
真剣に-優れたロガーで可能な限りすべてをログに記録します-ディスクの待ち時間をメインアプリから遠ざけるためにログをキューに入れます。状況を変えて、バグを変化させ、最適化されていないビルドにも表示されるようにします。良いか悪いかにかかわらず、変更後に何が起こるかをすべて書き留めてください(入力してください)。バグを悪化させることは、その症状を解消するよりも実際には優れています(正確な理由はわかりません)。可能であれば、さまざまなハードウェア構成でサーバーを試してください。
最終的に、あなたはバグを見つけるでしょう!
問題を確実に再現できるようです。それ自体、大きなプラスです。
尋ねるのを忘れた-核爆発の比喩は別として、主な症状は何ですか?それはあちこちでAV'ing/ segfaultingですか、それともロックまたはライブロックされていますか?