前不久,成都的同事给我演示了一个bug:点击“Upload License”按钮,会弹出Upload License对话框。奇怪的是,如果第二次打开Upload License对话框,从弹出对话框到整个对话框加载完毕,竟然要花费近20秒的时间。
这是一个部署地为美国的Web应用,我们通过浏览器来访问网页。事实上,这个对话框很简单,基本上在1秒内就应该加载完毕,耗费这么长的时间,的确很意外。
我尝试着重现这个bug,发现不能稳定地重现。大多数情况,对话框在1秒之内就能加载完毕。重现几率大约10%。据我所知,这个对话框仅需要加载html网页和Javascript代码,和后台之间不存在任何其他的交互。
排除了与后台交互,等待response的时间过长的可能性之后,我怀疑问题的根源在于Web服务器。于是,尝试着把系统部署在本地的服务器上,发现加载速度相当快。因此,更加确认了我的想法:对方的Web服务器有问题。
之后,转发给后台的同事进一步调查。同事反馈说,尝试了不下几十次,一直都无法重现。我通过自己的美国虚拟机来访问这个网页,的确,无论如何都重现不了。
好吧,我只能得出结论,这很有可能是网络问题,排除公司网络防火墙的可能之后,只能是伟大的GFW了。
可以尝试把通讯包加密一下(比如用一个js zip库),可能中间出现了关键字。
用来测试是否被墙掉,这倒是个好注意。