10個のコアを持つMBP M1で実行されます。 1つのスレッドクライアント(wrk)と1つのスレッドサーバー(java)を実行します。 YouTubeもシステムで実行されています。負荷平均は10点満点で2点です。 GCに加えて遅延時間の大きな違いを引き起こす原因は何ですか?
"percentile": 0,
"latency_in_microseconds": 10
},
{
"percentile": 50,
"latency_in_microseconds": 16
},
{
"percentile": 99,
"latency_in_microseconds": 51
},
{
"percentile": 99.9,
"latency_in_microseconds": 1500
},
{
"percentile": 99.99,
"latency_in_microseconds": 9598
},
{
"percentile": 99.999,
"latency_in_microseconds": 15021
}
nginxまたはRust Webサーバーを使用しても同じ変更が発生します。 M1、Linux docker、またはLinux EC2システムでも同様です。 10マイクロ秒から15ミリ秒にこのような大きな変化を引き起こす原因は何ですか?ありがとう
答え1
実際に5ミリ秒ごとにepoll / selectを実行すると、上限が下がります。
wrk -d2134 -t2 -c10 http://127.0.0.1:8089 -s script.lua took 17s at 10:14:19
Running 36m test @ http://127.0.0.1:8089
2 threads and 10 connections
^C Thread Stats Avg Stdev Max +/- Stdev
Latency 40.98us 18.24us 3.62ms 80.67%
Req/Sec 109.03k 3.86k 115.50k 68.43%
24368820 requests in 1.87m, 1.72GB read
Requests/sec: 216998.38
Transfer/sec: 15.73MB
JSON Output:
{
"requests": 24368820,
"duration_in_microseconds": 112299548.00,
"bytes": 1852030320,
"requests_per_sec": 216998.38,
"bytes_transfer_per_sec": 16491876.89,
"latency_distribution": [
{
"percentile": 0,
"latency_in_microseconds": 10
},
{
"percentile": 90,
"latency_in_microseconds": 61
},
{
"percentile": 99,
"latency_in_microseconds": 88
},
{
"percentile": 99.5,
"latency_in_microseconds": 95
},
{
"percentile": 99.9,
"latency_in_microseconds": 117
},
{
"percentile": 99.95,
"latency_in_microseconds": 128
},
{
"percentile": 99.99,
"latency_in_microseconds": 230
},
{
"percentile": 99.999,
"latency_in_microseconds": 1803
},
]
}