nginx - 如何根据服务器配置设置web服务参数?
问题描述
最近一直在折腾服务器相关的东西,遇到些问题,请教下大家。目前网站访问情况: PV: 15W +,IP: 2W+服务器配置:CPU:4 * Intel(R) Xeon(R) CPU E5-2430 0 @ 2.20GHz内存:4G带宽:6M硬盘:2 * 100G HDD
这台服务器以前用的是wdcp面板,php5.2 + mysql 5.1,高峰期CPU和负载一直很稳定,后来站点被黑后我接手处理,重新安装系统后,用的也是一键搭建的环境(blog.linuxeye.com上的包),搭建的Lanmp环境,开启服务后,用另外一台服务器ab测试( ab -c 100 -n 500 ),CPU马上满载,负载也飙了上去,程序是WordPress,虽然目前高峰期能扛得住,但是CPU经常98%左右,访问速度没有以前那么快;通过查看并发情况 netstat -an | grep ESTABLISHED | wc -l,高峰期在600左右访问时明显要等待3秒左右,负载也是很高。
对此想了解的是:
这台服务器配置,这样的访问量算是极限了吗?能达到什么程度?Apache(2.4)中以prefork模式工作,一个用户访问会创建一个进程?Apache中的prefork配置中的MaxConnectionsPerChild参数,是每个进程的最大连接数,这个连接数指的是什么,比如访问一个页面同时会有js,css,img这些请求,指的是这些keepAlive期间的连接数?如何根据当前服务器配置来判断和设置apache或nginx的配置参数?资源占用的多少,是如何计算的?恳请有经验的前辈指点下,谢谢!
问题解答
回答1:看 CPU 被什么占满了,是否是在等待 IO.
如果已经有了 Nginx, 直接用 Nginx + PHP-FPM 就好了,没必要用 Apache(除非你有其他的东西必须 Apache). 尽量用 PHP-FPM 不要用 mod_php, 根据内存恰当地设置 PHP-FPM 的最大进程数(一个进程大概需要 20-40M 内存)。
回答2:建议:1、架构改换成Nginx+PHP-FPM,Nginx+PHP-FPM环境搭建2、将静态文件(JS、CSS、静态图片)全部放到到CDN上,现在CDN的价格很便宜的,推荐又拍、七牛3、做好WordPress缓存,WordPress的很多博客页面完全可以做静态缓存,肯定有多插件来实现
回答3:如果兼容性问题不大,可虑升级PHP版本。5.5有巨大性能提升。
相关文章:
1. Apache 已经把网站根目录的改为allow from all了,但是服务器还是不能访问?2. gulp-ruby-sass编译出来的文件有错3. 使用 CSS3 的 Media Query 浏览器会加载其他不同分辨率的 css 文件么4. “Webdrivers”可执行文件可能具有错误的权限请参阅https://sites.google.com/a/chromium.org/chromedriver/home5. php-_server-php_self - nginx $_SERVER[’PHP_SELF’] 得到重复路径是什么原因?6. 前端 - 类到底该如何去命名 .newsList 这种的命名难道真的不是过度语义化吗?~7. 数据挖掘 - 如何用python实现《多社交网络的影响力最大化问题分析》中的算法?8. node.js通过module.exprots返回的是promise对象而非data?9. html - 开发android的调取我web页面 他之前用的是收费的浏览器包 显示是全的换了免费的浏览器包后 显示就不全 是什么原因啊10. javascript - 给js写的盒子添加css样式,css样式没起作用。

网公网安备