已尝试使用多款Android手机,手机上的浏览器无法在一段时间内(可能是几分钟)打开我们的网站,但Iphone或Pc的浏览器可以在此期间执行此操作。
只有当我在公司使用Wifi时才会出现问题,从未在家中看到问题。
当浏览器无法打开我们的网站时,通过Android手机的adb shell ping我们的服务器是没有问题的。
为了找到问题,我使用HttpUrlConnection访问我们的服务器,看到当浏览器无法打开我们的网站时,由于TimeoutException,HttpURLConnection.connect()方法将失败。
我觉得这个问题很奇怪,为什么问题不会发生在Iphone或PC上?我不认为Android手机比这些设备更差。
请帮我解决这个问题,任何建议都将不胜感激。
更多信息:
我使用wireshark来捕获数据包,并且看到在Android手机浏览器无法打开网站期间浏览器的tcp握手没有tcp响应。任何可能的原因?
答案 0 :(得分:0)
我们很久以前就解决了这个问题。这是一个服务器问题,我们通过更改linux服务器的以下两个内核参数来解决它:net.ipv4.tcp_tw_recycle和net.ipv4.tcp_timestamps。
您可以在此处找到两个参数的说明:http://www.speedguide.net/articles/linux-tweaking-121