2009-03-14 7 views
2

どこでも繰り返されていると思います。あなたは、ネットワークが遅いか、機械か遅いか何かを感じることができます。しかし、サーバ/シャーシのログには何も表示されないので、ITはあなたを信じていません。職業はなんですか?コードが壊れていないことを証明するにはどうすればよいですか?

あなたの回帰は2倍の時間がかかっていますが、それでは十分ではありません ddなどを使用して100 GBを転送しても、それだけでは不十分です。 サーバーを別のシャーシに2週間置くと、正常に動作しますが...それだけでは不十分です...

どのようにしてシャーシを交換するのですか?

具体的には: 2つの設定(同一であると思われる)で実行できるスイートがありますか。ネットワーク/ CPU /ディスクアクセスの違いを示すことができます。

+0

は、関連するプログラミングなし - ITは一緒にいつか私は6-8週間を考えている次の十年 – Cruachan

+0

であってもよいのstackoverflow。 :-) – tvanfosson

+0

これはプログラミングに関連しています。プログラマは、コードが問題ではなくハードウェアであることを*文書化し*証明する方法を知る必要があるからです。 –

答えて

4

標準ベンチマークスイートを実行します。同様のコンピュータと比較して、メモリ、CPU、バス、またはディスクを特定できるかどうかを確認してください。

いくつかのヒントについては、http://en.wikipedia.org/wiki/Benchmark_(computing)#Common_benchmarksを参照してください。

+0

自由に利用可能なネットワーク/ CPU /ディスクのベンチマークを知っていますか?これは標準で十分です。 – vrdhn

+0

本当に。あなたのアプリ、OSなどに依存します。私が追加したウィキペディアのリンクを参照してください。あなたのITが聞こえるほど骨が折れるのであれば、私は何が助けになるのか本当に分かりません。しかし、いくつかの数字を示して明らかにそれを行う必要があります。少なくとも、あなたの上司に更なる措置を講じるよう説得することは可能でしょうか? – Macke

5

コンピュータは私たちと同じように年齢を増やさず、速度を落とさない。サーバーの速度が低下している場合(実際には速度が遅い場合)、使用する他のすべてのコンピュータが高速化しているため、速度が遅くなるだけでなく、理由があり、修正できる可能性があります。私は、いくつかのディスクスペースをきれいにし、ディスクの断片化を解消し、他のプロセスが実行しているかどうかを調べることにしました(おそらく、誰かがシステムに多くのアプリケーションを追加しただけで、

アプリでデータベースを使用している場合は、クエリのパフォーマンスを分析してインデックスの順序が正しいかどうかを確認することができます。データが少ないときにうまく機能するクエリは、テーブルスキャンを使用する必要がある場合にデータ量が増えるにつれて時間がかかることがあります。以前の "IT"の人として、私はシステムが減速していると誰かが教えてくれるので、ハードウェアを問題に投げ込むことには消極的です。私は何が変わったのか知りたいと思っていましたし、私はそれがすべき方法でシステムを稼働させることができるかどうかを知りたいのです。アプリケーションが適切な最適化を行った後にハードウェアを増やしただけの場合、アップグレードは合理的な選択です。

0

あなたの主な問題はITによって聞こえているようですが、生の技術データが適切な人に説得力がないかもしれません。ビジネスからバックアップを取ることはあなたを助けるかもしれません。それはお金について話すことを意味します。

幸いにも、両方のプラットフォームにはすでに、共通のソフトウェア(アプリケーション自体)が含まれています。これは、誰かのためにお金を稼ぐか、節約するためのものです。それがどれほど迅速にできるかを測定してみましょう。注文を処理するのにどれくらい時間がかかりますか?

アプリケーションが各サブタスクまたはデータソースを処理するのに費やす時間を測定することで、実行中のハードウェアの概要を知ることができます。ローカルデータベースへの書き込み、またはRAMより大きいデータ構造の処理はディスクに影響を与え、ネットワークコールはネットワークハードウェアに影響を与え、CPU境界の計算はそこに影響します。

このデータはベンチマークと同じくらい正確なものではなく、高価なコーディングが必要な場合がありますが、見つかったものを金額に変換する方が簡単です。 Log4jのNDC and MDC機能とSprings AOPは、あなたに適したツールです。

2

唯一の方法は、は、何かを厳格な監査を行うことです。私たちが興味を持っている変数を変化させながら

今、伝統的に、我々は2つの異なるセットの間で一定のシステムを維持する必要があります。この場合、変数はコードが実行されているハードウェアです。したがって、単純に言えば、2つの異なるハードウェアセット(1つは不満なハードウェア)でソフトウェアの実行を監査する必要があります。違いを見てください。今、あなたは私はあなたが、あなたが最初にnull hypothesisを考え出す必要がありますされていると確信している、これを適切に行うのであれば

は、のようなものは:「アプリケーションの遅さは、へ 無関係

ある

我々 は「

を使用しているそして今、あなたはalternative hypothesisの賛成でおよそdisproving that hypothesisを設定し、特定のハードウェア。十分な結果を収集したら、統計分析を適用して、差異がstatistically significantであるかどうかを判断することができます。必要なデータ量を調べ、2つのセットを比較して、違いがランダムであるかランダムでないかを判断するための分析があります(これはあなたの帰無仮説を裏付けるものです)。あなたが行うテストのタイプは主にあなたのデータに依存しますが、賢い人達はchecklists to help us decideを作っています。

0

Windows 2000のスタート/実行からVistaにperfmon.mscを実行します。それからちょうどあなたは、彼らが遅いかどうかを確認するためにそれらを手動で実行し、実際のクエリをキャプチャするSQLクエリのために... CPU、ディスクなどのため

をカウンタを追加。 SQL Serverを使用している場合、ツール、SQL Serverプロファイラからプロファイラを実行します。例えば

。次に、プログラムでいくつかの操作を実行し、疑わしいデータベース呼び出しのキャプチャを調べます。クエリの1つをコピーして管理スタジオの新しいクエリウィンドウに貼り付けて実行します。あなたはそれがあなたのコードにどのように影響するかを確認するためにネットワークの速度を制限し、人為的に試してみてくださいネットワーキングのための

(例えばTraffic Shaper XPは、単純なフリーウェアリミッターです)。

関連する問題