我有一台运行电子商务商店的 Linux 机器。在用户结账之前,一切都很好。一旦用户点击结账,系统就会将用户转移到 https 服务。图像和页面加载时间比预期的要长。似乎没有任何异常进程或占用不规则内存量的进程。我重新启动了运行该网站的两个 Apache 进程(HTTP 和 HTTPS)。
我该如何分析这个问题?
答案1
我假设您至少可以重现该问题。您是否分析过页面加载情况,以查看是否是页面的某个特定部分导致了问题,或者是否所有调用都是错误的?可能与 SSL 完全无关,实际上与结帐流程有关(例如数据库缓慢/锁定)。
如果都是 SSL 查询,下一步就是测试 SSL,无需进行任何复杂的操作。通过 SSL 对小文件进行简单的 wget 或 curl 计时。如果可以,请尝试本地和远程操作;如果从 Web 服务器机器上速度很快,则可能是网络出了问题。
答案2
你看到的性能有多大差异?请记住,浏览器和代理应该不是缓存任何内容 HTTPS,包括图形、样式表和脚本文件。仅这一点就可能让网站感觉响应时间明显变短,具体取决于您的设计以及您距离我们人类开始注意到响应时间差异的那些神奇点有多近。
另外,您在什么样的环境下运行?完全专用的机器,还是某种虚拟机?您使用哪种 Web 服务器、脚本选项和数据库解决方案 - 这可能会对您如何观察流程以查找问题产生很大影响。您的结帐流程是否使用与主站点相同的语言?(我见过一些网站,其中主目录使用 PHP 完成,而结帐流程使用其他语言完成,大概是因为其中一个或两个部分已被购买并集成)。
答案3
事实证明,该盒子使用的 DNS 服务器不知出于什么原因无法正常工作。一旦我们将盒子指向一组新的名称服务器,延迟就消失了。