我们的问题始于2015年9月2日17:46(巴黎时间),目前仍有问题。 我们有2个应用程序:一个用于测试和开发,另一个用于生产。问题出在生产应用程序中。
有5天我们没有修改生产应用程序中的代码,但突然间,上周五下午的时间变得非常长。之前的时间是100~300毫秒,但从那一刻开始变为30秒,并且满足所有要求!
我们对测试应用程序使用相同的代码,但所有这些代码都适用于此应用程序。
我们在生产应用程序中有几个模块,只有一个模块有这个问题,所有其他模块都运行良好。
在周末期间,我们进行了一些测试,但仍然无法找到原因。 例如,代码在这里:
0
当我将此代码部署到生产应用程序中的有问题的模块时,则为2秒。然后我尝试将它部署到有问题的模块中的另一个版本,这种情况总是很长。 但是如果将此代码部署到生产应用程序中的其他模块(或者只是创建一个新模块),我会得到正常的延迟(~50ms)。
我们的配置文件非常简单:
package app
import (
"net/http"
)
func init() {
http.HandleFunc("/", HandlerHeartBeat)
}
func HandlerHeartBeat(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(202)
}
我不知道是否有其他人遇到像我这样的问题。谢谢
答案 0 :(得分:1)
Google基础架构很可能存在问题模块的问题。
可能它会为模块计算一些哈希码,并尝试在同一台机器上实例化同一模块的实例,以便在可能的情况下将应用程序代码缓存在(虚拟)机器级别上。如果该计算机出现问题(例如使用硬件),则会导致应用程序延迟增加。
我建议: