我们使用 Google Cloud 函数来计算并为我们提供一些响应。
我们在两个不同的地区拥有相同的端点。
https://asia-east2-projectName.cloudfunctions.net/getData
https://us-central1-projectName.cloudfunctions.net/getData
当我使用 Artillery.io 运行一些并发测试时,我惊讶地看到请求延迟。
尽管我在地理位置上更接近(班加罗尔)谷歌的 Asia-east2 服务器(位于香港),但与 US-Central1 服务器相比,延迟大约是两倍。
对于 30 秒内生成的 100 个请求,
Asia-East2(香港):
请求延迟:(以毫秒为单位)
min: 295.4
max: 1107
median: 888.2
对于 US-Central1(美国爱荷华州):
请求延迟:(以毫秒为单位)
min: 438.9
max: 861
median: 478.3
美国服务器的请求延迟中位数为 478 毫秒,而 asia_east2 的请求延迟为 888 毫秒(大约是 2 倍),尽管我在地理位置上更接近 Asia-East2 服务器而不是 US-Central1
我的问题是:
1)延迟不是接近的直接函数吗?
2)如果我的用户分布在世界各地,那么确保延迟尽可能低的最佳方法是什么?