手工SEO首页 DEDE教程 正文
这篇文章是讲web服务器方面的性能调整. 不包括数据库性能的调整.
初始化服务器
这个web服务器运行在一个EC2 t1.micro 环境.我选择 Nginx + PHP5-FPM 来运行php页面,出于安全考虑我使用SSL.
测试性能
我使用Blitz.io来进行压力和性能测试. 下面的是我压力测试的命令. 功能是在60秒内逐渐增加用户. 在整个过程中,Blitz.io 每秒创建一个请求并增加4个用户(rise/run = 260/60).
-p 1-250:60 https://mydomian.com
详细的解释
对于爱好者来说,这里是详细的解释。我将会在下述章节带领你重温我的思考过程。
如果编辑了Nginx配置,那么重启Nginx服务器。如果编辑了PHP5-FPM配置,那么重启服务。
尝试 #1: 增强硬件
对于改善性能,我本能的想法是增强服务器硬件,希望一切都会正常工作。我将EC2实例从t1.micro升级到了c1.medium(针对高流量服务器进行了优化,而不是通用服务器)。
在此之后,我运行了Blitz.io负载测试。这是结果的截图
服务器的峰值性能可以达到每秒50个成功命中。随着负载的继续增加,超时的数量上升,而命中的数量下降。
尝试 #2: 评效CPU性能
我重新执行了测试,同时在后台运行htop。我注意到两个CPU的利用率不超过13%。内存使用了300Mb。看起来服务器没有充分利用。所以我做了下述改变。我编辑了/etc/ngnix/nginx.conf
worker_processes 2;
尝试 #3, #4, #5: 微调 Nginx + PHP5-FPM
在下述尝试中,我改变了下述值,仍然获得跟尝试 #1同样的结果。
尝试 #3
/etc/ngnix/nginx.conf
worker_processes 2;
events {
worker_connections 19000;
multi_accept on;
}
...
_________
尝试 #4
/etc/ngnix/nginx.conf
worker_processes 2;
events {
worker_connections 19000;
multi_accept on;
}
http {
gzip on;
gzip_disable "msie6";
gzip_min_length 1000;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain application/xml application/javascript text/css application/x-javascript;
…
}
...
________
尝试 #5
我没有取消尝试 #4的改变
/etc/php5/fpm/pool.d/www.conf
pm.max_children = 160
pm.start_servers = 24
pm.min_spare_servers = 20
pm.max_spare_servers = 35
pm.max_requests = 1500
尝试 #6: 部署另外一台服务器
我还有另外一台Linode服务器。具有1.5Gb的内存和8个CPU。我复制所有Nginx和PHP5-FPM的设置到这台服务器上。
这是我使用Blitz.io进行压力测试的命令
-p 1-250:60
这是结果:
Linode服务器非常棒!我在想“Linode比EC2好么?”。在我决定沿着这条思路走下去,将代码迁移到Linode之前,我想要确保两台服务器之间没有差别。
尝试 #7: 大启示
我搜索了一下,发现Nginx有些SSL相关的问题。默认Nginx使用DHE算法创建密码(cipher)。禁用该算法将会提升性能。
所有我编辑/etc/nginx/nginx.conf去掉了kEDH密码算法。
worker_processes 2;
events {
worker_connections 1024;
}
http {
gzip on;
gzip_disable "msie6";
gzip_min_length 1000;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain application/xml application/javascript text/css application/x-javascript;
ssl_ciphers ALL:!kEDH!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
…
}
...
我重现执行了原来的压力测试:
-p 1-250:60 https://mydomian.com
这是结果:
真的有效!!!!
尝试 #8: 我真的需要增强硬件
太棒了,EC2与Linode在性能上很接近。但是我真的需要c1.medium实例来获得这种性能么?可能不需要... 所以我将EC2的实例类型改回了t1.micro。
I因为micro实例只有一个CPU,所有我在/etc/nginx/nginx.conf中减少了worker_processes。
worker_processes 1;
...
这是结果:
嗯,额外的硬件是有帮助的。
结论
想要在使用了SSL的Nginx服务器上获得最好的性能,如下操作:
- 默认使用的DH算法是低性能的最大原因。改变SSL密码设置如下:
ssl_ciphers ALL:!kEDH!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
- 升级EC2从t1.micro到c1.medium
- 因为c1.medium有两个CPUs,所有设置Nginx有两个工作进程。
上一篇:在Linux系统中将Redmine和SVN整合入Nginx的方法
相关文章
- 2019-11-04 在Linux系统中将Redmine和SVN整合入Nginx的方法...
- 2019-11-04 简介Nginx中的location匹配规则...
- 2019-11-04 Nginx下修改WordPress固定链接导致无法访问的问题解...
- 2019-11-04 Nginx服务器下防盗链的方法介绍...
- 2019-11-04 Nginx列出目录和文件并用密码控制访问权限配置方...
- 2019-11-04 Nginx配置支持ThinkPHP的PATH_INFO...
- 2019-11-04 Nginx配置PATHINFO隐藏thinkphp index.php...
- 2019-11-04 Ubuntu下Nginx配置ThinkPHP的Pathinfo和URl Rewrite模式...
- 2019-11-04 Nginx下配置pathinfo及ThinkPHP的URL Rewrite模式支持...
- 2019-11-04 实现自动定期删除Nginx日志的方法...
- 2019-11-04 Nginx服务器设置网站验证访问的方法...
- 2019-11-04 在Nginx服务器中配置mod_proxy反向代理的方法...
- 2019-11-04 Nginx服务器实现数据静态压缩的方法...
- 2019-11-03 Nginx隐藏服务器端各类信息的方法...
- 2019-11-03 在Nginx浏览器中打开目录浏览功能...
- 2019-11-03 Nginx服务器限制访问速度的配置方法...
- 2019-11-03 Nginx服务器中设置禁止访问文件或目录的方法...
- 2019-11-03 Nginx设置静态页面压缩和缓存过期时间的方法...
- 2019-11-03 使Nginx服务器支持.htaccess的方法...
- 2019-11-03 Apache支持 shtml和include文件解析...
- 2019-08-15 湖南网站优化方案...
- 2019-08-15 永济网:网站优化内链该怎么...
- 2019-08-15 华罡seo:网站首页一直不收录...
- 2019-08-19 上海seo快速网站优化是什么...
- 2019-08-20 8月18只基金延长募集 募集失败...
- 2019-08-21 东莞关键词策略seo网站关键词...
- 2019-08-22 谈谈2018seo行业前景和未来发展...
- 2019-08-24 英特尔极限大师杯赛将在北京...
- 2019-08-24 河洛群侠传全支线任务教程攻...
- 2019-08-26 贵阳SEO公司有些人不知道的...
- 2019-08-27 百度之前发布的算法一直有效...
- 2019-08-28 荒野行动网易大神礼包在哪领...
- 2019-08-29 没程序没美工中小微企业应当...
- 2019-08-29 丰田全新RAV4特别版曝光 主打运...
- 2019-08-29 上海网络营销培训主要学什么...
- 2019-08-30 蓝盾助力800亿大工程 号称“新...
- 2019-08-31 几名新生代农民工的技术成才...
- 2019-08-31 唐山网站seo排行精华...
- 2019-09-01 YNET.com北青网...
- 2019-09-03 沈阳优化营商环境打出“组合...
- 2019-09-04 三亚优化崖州湾科技城定制公...
- 2019-09-05 《东方炮弹》公开全新游戏动...
- 2019-09-06 2019内蒙古遴选考试笔试题每日...
- 2019-09-06 视频|教科书式示范!4岁男童与...
- 2019-09-07 奥迪8月全球销量15万辆 中国市...
- 2019-09-08 品牌房企论道2019年房地产营销...
- 2019-09-11 超越同行的seo网站内容优化操...
- 2019-09-15 天津公布最新一批环境违法典...
- 2019-09-21 安徽铜陵:联合国粮农组织考...
- 2019-09-24 小米集团9月23日回购1074万股股...
- 199℃ 网站权重和网站的关系...
- 199℃ DedeCMS系统管理员帐号密码忘记...
- 199℃ CSS选择器优先级详细介绍...
- 199℃ 织梦后台文件列表实现按文件...
- 199℃ dedecms无错优化版全站调用购物...
- 199℃ DEDE Fatal error: Call to a member fu...
- 199℃ WinXP下安装IIS搭建ASP环境教程...
- 199℃ Dedecms 生成速度慢 的解决办法...
- 199℃ 服务器性能变慢 c盘temp文件夹...
- 199℃ linux使用scp命令备份文件 scp拷...
- 199℃ dedecms文章调用来源和作者为空...
- 199℃ 教你去掉dedecms首页互动中心会...
- 199℃ dedecms调用会员头衔的方法...
- 199℃ nginx禁止访问.git文件的设置教...
- 199℃ 直接双击启动tomcat中的startup...
- 199℃ dedecms织梦系统$GLOBALS定义文件...
- 199℃ Nginx图片防盗链配置实例...
- 199℃ 集群运维自动化工具ansible的安...
- 199℃ Tomcat服务器图片地址中文路径...
- 199℃ lnmp环境中如何为nginx开启path...
- 199℃ 织梦DedeCMS模板防盗的方法...
- 199℃ Nginx服务器搭建反向代理全攻略...
- 198℃ mysql中的浮点类型...
- 198℃ PHP生成随机字符串...
- 198℃ PHP JSON_ENCODE 不转义中文汉字的...
- 198℃ 第三方登录 QQ互联 redirect uri...
- 198℃ js实现点击切换TAB标签实例...
- 198℃ IE6下的position:fixed定位兼容性写...
- 198℃ 最新版织梦邮件找回密码使用...
- 198℃ 织梦DEDE自定义表单时间字段读...
- 198℃ DedeCms织梦使用关键词关连文章
- 198℃ 织梦DedeCMS首页及列表页调用
- 198℃ 织梦按栏目分类搜索的方法
- 198℃ 拓展channel标签实现limit功能
- 198℃ DEDECMS模板标签同时使用2个函数
- 198℃ System.UnauthorizedAccessException:拒绝
- 198℃ 天涯(tianya)bbs系统架构分析
- 198℃ 织梦DedeCMS各种自定义当前位置
- 198℃ Nginx优化配置和内核优化 实现
- 198℃ dede 5.3版无法保存栏目内容的详
- 198℃ dedecms 5.7 sp1模板怎么添加下拉
- 198℃ 用DNSPod和Squid打造自己的CDN全程
- 198℃ 通过伪静态解决中文乱码问题
- 198℃ filezilla Failed to create listen soc
- 198℃ win2003下 iis+php快速稳定的配置
- 198℃ IIS FTP部分文件上传报错451的原
- 198℃ ZendOptimizer.MemoryBase@NETWORK SERV
- 198℃ ngin配置301重定向设置方法和
- 198℃ dedecms列表页与详情页调用tag标
- 198℃ dede织梦loop和sql标签多表查询对
- 198℃ 国外著名论坛程序IPB(Invision
- 198℃ nginx中域名、目录的301重定向配
- 198℃ 织梦网站地图获取文章列表
- 198℃ Win2008 R2/2012 网络负载平衡NLB相
- 198℃ win2008 R2安装网站安全狗提示
- 198℃ dedecms (织梦)实现301永久重定向
- 197℃ linux 查看磁盘空间大小的命令
- 197℃ DEDECMS只允许会员积分大于200的
- 197℃ dedecms中万能标签loop不能输入
- 197℃ 织梦dedecms什么时候用栏目交叉
- 标签列表
-