大多數時候,每當我將相當大的區塊發送到 SSH 終端時,它絕對會以每 20 秒 1000 個字元的速度爬行;有時幾乎停止。
「相當大的區塊」並不是大量的數據,它通常小於 5000 個字元(php、ascii)的腳本。
為什麼是這樣?
我看到目標伺服器上的 bash 正在運行,CPU 利用率為 100%。這是怎麼回事?
編輯追蹤路線:
traceroute to ec2-23-24-25-26.compute-1.amazonaws.com (23.24.25.26), 64 hops max, 52 byte packets
1 192.168.1.1 (192.168.1.1) 1.704 ms 1.040 ms 0.914 ms
2 10.240.88.1 (10.240.88.1) 11.722 ms 12.449 ms 12.633 ms
3 bmly-core-2b-ae4-1332.network.virginmedia.net (80.3.65.233) 10.545 ms 20.922 ms 10.216 ms
4 brnt-bb-1b-ae6-0.network.virginmedia.net (213.105.159.229) 37.524 ms 13.632 ms 15.232 ms
5 popl-bb-1a-as7-0.network.virginmedia.net (62.255.81.237) 11.881 ms 50.011 ms 12.091 ms
6 popl-bb-1b-ae0-0.network.virginmedia.net (213.105.174.230) 15.561 ms 19.908 ms 39.367 ms
7 tele-ic-5-ae0-0.network.virginmedia.net (213.105.159.117) 18.477 ms 42.429 ms 12.764 ms
8 equinix01-iad2.amazon.com (206.223.115.68) 162.399 ms 96.645 ms 108.442 ms
9 72.21.220.51 (72.21.220.51) 92.975 ms
72.21.220.49 (72.21.220.49) 101.136 ms
205.251.245.7 (205.251.245.7) 96.280 ms
10 72.21.222.149 (72.21.222.149) 97.333 ms
72.21.222.141 (72.21.222.141) 104.084 ms 112.991 ms
11 216.182.224.214 (216.182.224.214) 98.459 ms
216.182.224.207 (216.182.224.207) 105.273 ms
216.182.224.55 (216.182.224.55) 108.202 ms
12 * * *
答案1
這通常是一個被填滿的緩衝區。您可以將其與高速公路上的交通進行比較,如果行駛的車輛少於高速公路設計的數量,那就一切順利。但如果行駛的汽車超過限制,高速公路上的交通就會變慢,因為高速公路無法處理。 CPU 只是變得更高,因為它不斷清空和填充緩衝區的一小部分,從而導致更多的週期。 100 毫秒的延遲加起來很快就會導致需要幾秒鐘的時間才能透過緩衝區取得所有資料。
SSH 是為執行命令而設計的,因此您可能需要使用其他方法來完成此操作,或嘗試重新思考您到底在做什麼。我不明白為什麼你應該遠端編輯 PHP(這在現在沒有意義)或為什麼你可以在可以發送文件時複製貼上文件...