Open azole opened 1 month ago
目前有想到兩種實驗流程,測試是不是距離比較近的延遲比較低
ping
固定封包發送的數量,使用 ping
指令去測量封包從本地設備到目標主機之間的往返時間,例如:
ping -c 100 google.com
PING google.com (142.251.42.238): 56 data bytes
64 bytes from 142.251.42.238: icmp_seq=0 ttl=115 time=10.032 ms
64 bytes from 142.251.42.238: icmp_seq=1 ttl=115 time=5.845 ms
64 bytes from 142.251.42.238: icmp_seq=2 ttl=115 time=9.759 ms
...
--- google.com ping statistics ---
10 packets transmitted, 10 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 5.845/9.459/10.491/1.242 ms
以政大官網來實驗
從日本東京呼叫,結果如下:
從德國法蘭克福呼叫,結果如下:
可以發現從德國呼叫的 load time 會比較長
兩種實驗方式測試的東西不太相同,第一種 ping
是單純測試封包在本地設備和目標主機間的往返時間,第二種,我選的第三方工具是從發送 request 到收到 response 並渲染出來的時間。
如果目的是想測試,受眾是臺灣的人,服務架在遠一點的 region 延遲會不會差很多,可以使用第一種實驗方式;如果是單純想實驗看看是不是真的距離比較遠延遲就比較高,第二種也可以。
我覺得如果同一份 code 有很多邏輯都是需要「等待前一步完成才能進行下一步」,例如需要按順序呼叫很多 API,那可以寫一個通用的 function 搭配 promise
和 await
,讓程式更容易閱讀。
但如果這一個 .js 檔很簡單,可能只是簡單的表單送出按鈕,那麼兩種其實都可以。
想問問我的理解跟老師的回覆一不一樣
.env 中不一定都是機敏資料,有一些不是機敏資料,但因為不同環境需要使用不同值,所以也被放在 .env 中
是這樣嗎?
謝謝老師!
HW A
確實,但一定媽?怎麼測量延遲 (latency) ?
HW B
有寫 promise 版本很好,那 callback 跟 promise 這兩種寫法都能達成一樣的結果,但你對這兩種寫法,有什麼看法?
HW C
非常好,我沒有什麼要問的,補充一個小點,在 .env 中,有時候可以區分出是不是機敏資料,不是的,其實在 .env.example 中也會直接寫上去,例如一份 .env.example 很可能是這樣:
以上面這個檔案為例,PORT, DB_HOST, DB_NAME 被認為不是機敏資料,會被放在環境變數設定,只是因為不同環境需要不同設定而已。