一次linux web服务器优化记录
来源:互联网 发布:lol末日人工智能怎么玩 编辑:程序博客网 时间:2024/06/17 13:44
服务器是一个四核cpu、6G内存的linux主机
服务器上是以前同事装的apache2 php5 mysql5环境,放着两个没有访问量的网站和几个测试站。
前一周转过来一个上线有段时间的人才网站,采用Joomla开源CMS进行二次开发而成。
跑了几天后,网站还搞了个投票活动,有人刷票。
服务器开始出问题,主要表现在:
1、通过top查看的服务器压力40左右,cpu使用82%以上
2、服务器同时开了n(20-40)个httpd线程,其中10+个线程占用cpu 8%+,其它2-5%不等
3、网站页面打开速度缓慢,经常有mysql无法连接的提示
4、重启apache和mysql会缓解一下,尤其是mysql,mysql的cpu使用30%以上
5、跟踪apache访问,几乎所有访问都来自人才网。跟踪mysql的慢查询记录(2秒以上),每妙都会有2-5条慢查询,多数都是3-6妙,且都来自人才网。
做出以下应对:
1、减少apache不必要的log日志
apache中,提高loglevel的级别,由warn(警告)调整为crit(致命)
关闭所有网站的访问日志和错误日志
2、注释掉httpd.conf中用不到的模块
3、调整apache prefork模式的配置
ServerLimit 256
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 256
MaxRequestsPerChild 10000
其中,最重要的是 MaxRequestsPerChild ,默认设置为0,直接导致apache开了过多进程
4、mysql的配置没有调整,只是通过slow query log,判断哪些数据库查询效率底。
但因为不能动别人的库结构和php代码,只能向对方网站技术人员提交慢查询记录。建议对方尽量cache数据,确认所有的查询语句都使用了索引。
Joomla 也有过较多接触,运行效率确实不高。
mysql中几个比较重要的参数如下:
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
set-variable=max_connections=1000
此类参数要根据环境需要做不同的调整
调整后,目前的服务器状态如下:
top - 12:36:34 up 24 days, 18:29, 1 user, load average: 0.10, 0.22, 0.20
Tasks: 135 total, 1 running, 134 sleeping, 0 stopped, 0 zombie
Cpu(s): 2.4%us, 0.2%sy, 0.0%ni, 97.3%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st
服务器压力0.2 ,Cpu占用2-16%
httpd线程减少到2-10个, cpu占用超过8%的也明显减少
- 一次linux web服务器优化记录
- 记录一次SVN服务器搬迁(windows-Linux)
- 一次优化web项目的经历记录(一)
- 一次优化web项目的经历记录(二)
- 一次优化web项目的经历记录(三)
- linux 网站服务器优化 web server优化
- 一次优化记录
- 剖析:一次入侵Linux服务器的事件记录
- 剖析:一次入侵Linux服务器的事件记录 20131222
- 记一次linux服务器性能优化【分析篇】
- 记录一次sql优化过程
- 一次sql优化的记录
- 记录一次java优化过程
- 记一次程序优化记录
- 记录一次ELK集群优化
- 记录一次索引优化经历
- 记录一次 linux kernel bug
- 一次Linux 手持设备上手指滑动窗体的GTK程序的优化记录
- oracle 积累
- 我的10年
- 外设操作方式之发现
- 高级Unix命令
- 聚合
- 一次linux web服务器优化记录
- 关于生产退税计算的系统修改记录
- 传统的软件已死,软件的未来在哪里?
- 如何将照片设置为手机墙纸/桌面
- 编写程序,读入几个具有相同ISBN的交易,输出所有读入交易的和。
- Javascript中的类实现
- AjaxControltoolkit学习笔记—Accordion使用详解 (asp.net C#)
- VBS:UBound()函数
- 联通定制Android手机本月全国上市