0

XML を使用する単純な REST サービスの POST メソッドを作成しました。Jersey を使用して REST クライアントを作成し、オブジェクトを作成しました。オブジェクトに大きな入力を与えることで、XML の長さを増やして応答時間の変化を確認しようとしています。たとえば、私のオブジェクトが単純な従業員の詳細を占めているとします。私の観察では、応答時間は xml のサイズに依存していません。私は次のようにかかる時間を計算しています。

long startTime = System.currentTimeMillis();

// enter code here for post `

long elapsedTime = System.currentTimeMillis() - startTime;

それを行うためのより良い方法があれば提案してください。

ここで明確にしたいのは、サーバーがローカルホストにあり、応答時間が異なる理由です (たとえば、88ms である場合と 504ms である場合など)。私が期待しているのは、xmlオブジェクトに大きな入力を与えると増加するはずですが、私が観察したようには起こりません。明確にするか、同じことについて読むことができるより良いサイトまたは本を教えてください.

4

2 に答える 2

0

currentTimeMillis の代わりに System.nanoTime を使用します。また、Java はオンザフライで最適化することにも注意してください。最初にサーバーをウォームアップしないと、バイト コードの解釈された実行のタイミングを計り、ある時点でネイティブ バイト コードに切り替わります。タイミングは入力の長さによって異なりますが (関数のようなステップで)、それを確認する前に、ある程度のノイズを克服する必要があります。多くは GC によるものであり、スレッド スケジューリングや OS の問題によるものも多くあります。

この種の議論については、Mechanical sympathy group をお勧めします。これらのタイプのシステムを測定する方法については、多くの議論があります。 https://groups.google.com/forum/#!forum/mechanical-sympathy

于 2014-07-03T08:50:50.677 に答える