2017-02-10 33 views
0

これは私のgoogle-fuが正しく動作していない場合にすぎませんが、Windowsサーバー間の正確な応答時間を取得しようとしています。私は、PowerShellで、次のタイプを使用することができます。Powershell:Windowsサーバー間の応答時間

Test-Connection -ComputerName google.com -count 1 

しかし、これが唯一のあなたはミリ秒単位で応答時間を提供します:

Source  Destination  IPV4Address  IPV6Address        Bytes Time(ms) 
------  -----------  -----------  -----------        ----- -------- 
ComputerName google.com  172.217.26.14            32  26  

私たちが使用しているアプリケーションは、非常に迅速な応答時間を必要とする(1ミリ秒以下)ので単純な慣習として私がマイクロ秒でそれを測定できるなら、素晴らしいだろう。私は、次のような何か試してみました:

$startTime = Get-Date 
$testConnection = Test-Connection -ComputerName google.com -count 1 
$stopTime = Get-Date 
$responseTime = $stopTime - $startTime 

をしかし、これは私のマシンには、日付を読み、数ミリ秒を取るん差異を計算するために持っていると思われることから、120ミリ秒に20〜30ミリ秒から行きます。

何らかのアプリケーション(WireSharkのような)がマイクロ秒単位で測定できると仮定していますが、これを見つけることができませんでした。例えば、Active Directoryのログインタイムスタンプは、ナノ秒までログを取るので、は、Powershellスクリプトフレームワーク内でを実行できるはずです。

ご協力いただきましてありがとうございます。

+1

コマンドレットが実行された時間の長さとさまざまなオーバーヘッドを測定しているため、間違いなく間違いなく間違いなく測定していることは間違いありません。返された値からpingのステータス時刻を取得することで、メタルに少し近づけることができますが、転送されるデータやその他の考慮事項に関して実装との関連性がない可能性があるプロトコルの結果を測定しています。 Wiresharkの実際のプロトコルの捕捉と分析はより現実的な方法になります。 –

+0

ああ、私は単純に、Test-Connection出力(ms単位)を使用するだけでなく、その前と後のタイムスタンプを使用することの違いが大きな違いかどうかを確認しようとしていました。もしそれがほんの数マイクロ秒だったらmehだが、それは予想よりも大きいと分かっている。私はまだWireSharkに詳しくは触れていないが、それに使われているタイムスタンプがマイクロ秒で測定できるかどうか知っているだろうか? – MagneTism

答えて

0

あなたはこのよう応答時間を取得することができます。

Test-Connection www.google.com -Count 4 | Measure-Object -Property ResponseTime -Average 

、あなたは

[timespan]::fromseconds((Test-Connection www.google.com -Count 4 | Measure-Object -Property ResponseTime -Average).average) 

はそれが役に立てば幸い異なるタイムスパンに対処する のTimeSpanクラスを使用することができます。

+0

ありがとうございます、これは助けになりますが、これはミリ秒未満になるのを見ることはできません。私はマイクロ秒単位で数値を取得する方法を探しています。 Test-Connectionコマンドレットはミリ秒単位でしか測定できないからだと思っています...他のアイデアはありますか? – MagneTism

+0

@MagneTism:私はDotネットをナノスケールに変換するものはないと思います。方法があれば私は更新します。その答えを受け入れることはかなり認められるでしょう –

+0

ミリ秒までの10000のティックがありますが、プロトコル選択がそのタイムスケールに劇的な影響を与えるので、この測定(効果的にping)は彼がやっていることと同等であるとは思わない。 https://msdn.microsoft.com/en-us/library/system.timespan.ticks(v=vs.110).aspx –