目前我们的网络服务器的 CPU 负载相当高
(我只是做一些研究,我实际上不是该网站的管理员)
最显著的变化之一是新的搜索结果页面带有更大的缩略图(默认每页 25 张)。开发人员并没有创建新的更大尺寸的缩略图,而是(目前)只使用了全尺寸图像,但高度和宽度都较小——显然是因为创建全新的缩略图尺寸是一个相当大的项目
我怀疑这是导致我们 CPU 峰值的原因,但我不确定 - 我想与他们分享一些相关信息
有人能否确认和/或解释,不断传送大得多的文件可能会导致 CPU 负载增加,为什么?
作为参考,我们网站上有大约 2,000,000 张图片,缩略图的大小平均从 7kb 增加到 30-40kb 左右——单个搜索结果页面的字节大小总体上大约增加了一倍
就流量而言,我们通常每天有大约 200 个并发用户或大约 150,000 次页面浏览量
更新:有趣的是,我今天应该问这个问题,因为今天早上已经开始了一个创建新的适当大小缩略图的项目。
答案1
正如 kce 所要求的,我们需要更多信息才能得到明智的答案,但我假设它是一个 PHP+Apache 网站。
你确定你数了吗CPU使用率, 并不是加载? 负载是活动进程的数量。如果 Apache 工作进程一直忙于发送图像,负载可能会增加。如果是这样,负载会增加,但 CPU 使用率实际上不会增加。像 Munin 这样的监控工具会以图表的形式很好地显示这一点。
解决这个问题的一个好方法是安装一个反向代理,比如 Nginx,配置为提供图像服务。Nginx 不仅擅长静态文件服务,而且还能让你的 Apache 工作者自由地做实际工作。