为服务器大量的静态内容调整Nginx / CentOS
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了为服务器大量的静态内容调整Nginx / CentOS,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3278字,纯文字阅读大概需要5分钟。
内容图文
![为服务器大量的静态内容调整Nginx / CentOS](/upload/InfoBanner/zyjiaocheng/963/6866751755b5412b8d5647279bb0b585.jpg)
我有一台Linux机器64位(centos5.5),2.83GHz Q9550,6gb内存和一个SATA 500gb驱动器.
从这台机器我只提供缩略图,大多数大约10kb,此时服务器上有大约700万缩略图.我把它们设置在/ 25/25/25/25文件夹设置中,这是我推荐的.
平均而言,nginx状态报告显示即时提供大约300到400个活动连接.
例:
Active connections: 297
server accepts handled requests
1975808 1975808 3457352
Reading: 39 Writing: 8 Waiting: 250
现在的问题是这台机器非常困难,而且随着我的网站越来越忙,它越来越慢.负载总是在8到9左右.
我注意到iostat显示超过100%的util.
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.20 1.40 99.80 31.14 1221.56 255.49 11.28 114.14 831.81 7.62 99.84
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.20 0.60 100.80 24.00 1192.00 203.20 11.18 113.77 775.42 8.02 100.04
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.20 314.80 44.80 130.00 598.40 3547.20 23.72 113.76 937.18 5.72 100.02
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 5.40 56.20 110.80 660.80 937.60 9.57 112.37 518.01 5.99 100.04
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.60 12.40 82.80 41.60 1008.00 432.00 11.58 113.66 852.51 8.04 100.04
下面你可以看到我的一些nginx配置设置:
worker_processes 6;
worker_connections 4096;
http {
include mime.types;
default_type application/octet-stream;
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 4;
gzip on;
gzip_http_version 1.1;
gzip_vary on;
gzip_comp_level 2;
gzip_proxied any;
gzip_types text/plain text/html text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_buffers 16 8k;
}
我的问题是,除了转向RAID设置,可能还有SSD之外,还有什么我可以通过调整/调整来获得更多的机器吗?我觉得像我这样的服务器应该能够处理每秒大约300到400个活动nginx连接.
解决方法:
除了@nos提到的noatime选项之外,您可能还需要考虑以下事项:
>在nginx中,设置access_log off; – 评论它没有做任何事情;你需要主动禁用它.
>减少工作进程的数量. nginx不会受益于每个CPU多个工作程序.
> tcp_nodelay on;将帮助nginx在“实时”连接上更快地提供文件.
>尝试使用tcp_nopush.我发现最好打开它,但是YMMV.
>将if_modified_since设置为之前;它将允许nginx发送304 Not Modified标头而不是重新提供内容.
>玩open_file_cache设置
>减少send_timeout,以便nginx可以释放陈旧的客户端连接.
至于你的系统的其余部分:
> hdparam设置.许多教程可以帮助您在线,hdparam调整将充分利用您的磁盘.
>调整你的插座performance settings
>以降低的计时器频率重新编译内核.默认值为1000 Hertz,这对于提供视频的桌面计算机非常有用,但对于值为100-250的服务器来说可能更合适
>禁用杯子和蓝牙等服务
但是,我相信最好的性能提升是将Varnish放在你的nginx服务器前面并使用它而不是nginx来提供静态文件.它会将“热”文件保存在内存中,比nginx更好,因此对于最常用的内容,几乎没有磁盘使用.
然而,主要的是监控一切 – 不要随意使用,了解服务器正在做什么以及瓶颈在哪里.
内容总结
以上是互联网集市为您收集整理的为服务器大量的静态内容调整Nginx / CentOS全部内容,希望文章能够帮你解决为服务器大量的静态内容调整Nginx / CentOS所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。