nginx服务器可以用1核吗?别只看省钱,先看并发量和稳定性
本文未附完整的测试环境、工具版本与原始结果,内容作为故障排查或选型资料参考,不标记为实测报告。
很多老板在开始部署网站、接口网关或者小程序后台的时候会问到一个问题:Nginx服务器用一个核心数行不行?预算少是可以理解的,但是如果业务一上线就出现访问变慢、图片加载卡顿、接口超时的情况,那么后期再迁移到其他地方就会更加麻烦了。特别是对企业官网、电商活动页面、APP接口转发、内网系统代理等场景来说,Nginx看上去很“轻”,但是它的配置不能仅仅按照最低的标准来判断。
结论是:1核服务器可以运行Nginx,但是比较适合于测试环境、小规模网站、低流量展示站和简单的内网反向代理。如果是每天只有几十甚至几百次访问量,并且主要由静态页面组成的话,那么后端服务的压力就不大了,在1核+1G或者2G内存的情况下基本上就可以满足初级需求了。但是如果涉及到多个站点、HTTPS证书、反向代理、负载均衡、日志分析、图片资源、接口转发等,则应该从2核4G开始考虑起,这样在稳定性以及以后扩展的时候会更加从容一些。
选择Nginx服务器的时候要关注以下几点:
第一是看CPU核心数。Nginx本身对于CPU的要求并不高,但是HTTPS加密、压缩、转发规则和并发连接等都会占用大量的计算资源。1核可以使用,并不等于适合长时间在生产环境中运行。企业的业务应该留有一定的余地,不要等到出现访问高峰的时候才全部打开。
第二点就是看内存大小了。很多卡顿并不是由nginx引起的,而是因为整个系统的内存被各种各样的东西占满了,包括缓存、日志和后端服务等。轻量级业务可以使用2G内存,企业官网、管理系统、接口代理等建议从4G开始计算起,之后如果有需要再增加数据库、Redis、应用服务等的话,则要另外计算。
第三点就是看硬盘是哪种类型的以及多大。除了硬盘大小之外还应该考虑使用SSD或者企业级固态硬盘来提高系统的响应速度、日志写入的速度以及静态文件读取的速度。当日志量很大时需要制定出日志切分与备份方案以防止磁盘空间被占满而造成服务不能正常运行的情况出现。
第四点就是看网络带宽以及并发情况。Nginx一般用作网站入口,但是它的带宽要比人们想象中的要重要得多。图片很多、下载量大、分布区域广的情况下,如果带宽不够就会影响到打开的速度。云服务器需要考虑的是公网带宽,而物理服务器则要考虑机房线路、交换机端口以及出口资源等。
第五个方面就是数据安全以及运维能力了。生产环境要设置好防火墙策略、更新SSL证书、保留访问日志、备份配置文件等。如果使用的是本地机房的服务器,则需要考虑RAID方案、电源冗余、远程管理端口、保修期以及上门服务的能力等问题。
即使预算有限也可以做到稳定,主要还是要看具体的业务场景。小规模展示站可以使用1核2G进行试运行;企业官网及小程序入口推荐使用2核4G;多个站点、活动页面、反向代理、负载均衡等需要4核8G以上配置;如果有数据库、ERP、OA、文件服务等要一起部署的话,则不建议将Nginx以及核心业务都放在低配服务器上。
一个常见的错误是只问“Nginx最少要多少核心可以运行”,而没有提到访问量大小、网页种类、后端结构以及是否需要SSL证书、有没有高峰时段。购买服务器不能只看参数,还要把性能、稳定性、预算、售后服务以及扩展性都考虑到里面去。配置过低的话,短期内虽然省了钱,但是长期来看会因为频繁报警、迁移停机、数据备份混乱等问题导致总费用增加。
在对Nginx服务器进行配置的时候可以提供出业务类型、预期访问量、是否有数据库、带宽要求、品牌喜好以及预算区间等信息。可以帮您理清配置思路、报价方向,并且按照云服务器、物理服务器、国产化服务器或者本地机房部署的方式给出一个更符合企业采购需求的版本。