最近有不少人咨询我关于网站服务器配置的问题,说自己多少多少流量,问我需要购买什么样配置的服务器,然后我会反问一堆问题,再给推荐,所以今天想简单总结一下关于服务器配置的一些参考。
为了不浪费大家的时间,先说结论,可以打开宝塔面板的监控观察几天,看看CPU和带宽还有内存的占用情况,结合自己的流量数据,就大概可以判断当前配置需要升级不需要了,又或者想省钱降配置,可以结合自己真实的数据来做判断,比如如果现在是8核的,平均占用一直在30%一下,完全可以降到4核。
简单解释一下,先从CPU方面说一下,流量大需要的服务器配置高,这个大部分站长都知道,但服务器的选择和软件关系也特别大。比如我博客,服务器用的是阿里云上海的服务器,1核CPU加2G内存,最大支撑过2万5千IP的流量,可以参考我这篇文章【6万一万流量大】,当时突然爆发的一波流量,那时还没有套CDN,所以这不是测试数据,是完全真实的实际情况。
同样的服务器配置1核2G,如果换成其他的网站,可能就撑不住了(也可能比我优化的更好也能撑住),原因就是跟软件有关,我的博客使用的是Z博客搭建的,主题是我自己写的,只装了一款伪静态的插件,别的插件都没装,需要什么功能,都是直接在主题上面改,所以整体优化比较好,首页生成延迟在15毫秒以内。
这个生成时间意思是Z博客先查询数据库,然后根据数据库里面的数据生成网页,这个过程消耗的时间,在不考虑带宽和CDN缓存的情况下,生成一个页面需要12.97毫秒,1秒等于1000毫秒,也就是说可以支撑1000/12.97≈77个人同时访问,那一天下来理论上最大能支撑77*60*60*24≈665万流量,但实际肯定撑不住这么大流量的,毕竟这是只算了首页,而且是每秒都是恰好卡着极限值访问,也没算带宽。
不过这个数据肯定是有一定的参考值的,有的网站生成时间在200毫秒以上,二十倍的差距,那这种网站跟我博客在同样的流量数据下,用16核的CPU都不一定有我这1核的CPU快,所以硬件一定是要看软件运行情况的。
再说一下带宽方面,带宽也不能简单根据IP去判断,如果像爱奇艺这种视频网站,1个IP的访问需要的带宽都比我这博客3千IP的大,因为我博客比较大的文件就是图片了,而且图片压缩过,大部分图片也都不超过100K,这里打个广告,大家可以用我这款插件压缩图片《图片批量压缩工具》,所以没有视频的网站,图片一般是最占带宽的,这点可以根据自己的带宽占用情况去选择。
所以单单只有IP数据,并不能决定网站服务器配置,即使不是我上面举的比较极端的例子,差个十倍二十倍的不意外,结论就是需要实测才能知道需要什么样的配置,实测的方法就是监控数据,比较简单的监控方法就是宝塔面板的监控了,想知道自己网站需要什么配置,打开监控观察两天。
补充一下,不管有没有用CDN,都可以用监控数据去判断的,毕竟这就是最真实的情况,用了CDN如果CPU不够依旧得升级,带宽不够还是得升级,CPU占用率低就完全可以降级,因为这是从宏观角度观察的,不是理论的数据。