web 服务器优化中配置内核重要吗?

web 服务器优化中配置内核重要吗?

*inux/php/mysql/apache

我一般是三招
1,-o2 编译 php
2,php.ini 去掉不必要的模块
3, httpd.conf 去掉不必要的模块

目前有一台服务器:

1G内存两个p4 2.8G CPU

[root@www conf.d]# netstat -nat |wc -l
3100

[root@www conf.d]# netstat -nat |wc -l
2600

top - 00:10:51 up 42 days,  9:06,  1 user,  load average: 10.07, 10.45, 13.51
Tasks:  71 total,   8 running,  63 sleeping,   0 stopped,   0 zombie
Cpu(s): 65.4%us,  9.2%sy,  0.0%ni, 10.6%id, 13.7%wa,  0.2%hi,  1.0%si,  0.0%st
Mem:   1035160k total,   945096k used,    90064k free,    46336k buffers
Swap:  2048276k total,     1756k used,  2046520k free,   715300k cached


几个问题,自己没有经验,大家给看看
这几天top查看,httpd经常出现defunct进程 可能是什么原因呢?
它的性能得到充分利用了吗?
还有其它优化的方法吗?
配置内核效果明显吗?

一点拙见

1、对于php使用-O2编译与否并不很影响性能,php的运行模式对性能还是有一定影响的比如fastcgi比mod方式的运行效率高一些,当然zend optimizer等php优化程序还是必要的。

2、精简配置是个好习惯

3、建议apache采用worker模式运行,这样对小内存的机器还是有好处的。如果静态文件比较多建议用lighttp 或者Nginx。

4、mysql的优化不是一言两语可以说清楚的,影响性能的地方很多比如最大连接数 磁盘的io mysql的buffer cache等等。建议打开mysql长查询日志,对程序中的sql语句进行优化。

5、你给出的netstat并没有说服力,established time_wait SYN 等等是何状况

6、http的defunct进程出现情况很多,如果主进程还活着的话,去看看apache的error log。有可能是apache的连接数设置过高,导致系统资源耗尽造成的,降低连接数试试(我仅是举个例子)。

7、配置内核为认为没有什么必要,但是利用sysctl来修改一些网络和fileopen参数还有有必要的,具体可以去google :)

说了不少,总结一下把。根据你给的信息加内存是最好的方法呵呵 ,一台服务器优化带来的性能是有限的,要承载大量的访问多加几台做负载均衡才是硬道理。一家之言,仅供参考


QUOTE:
原帖由 davistar 于 2008-6-4 01:46 发表
一点拙见

1、对于php使用-O2编译与否并不很影响性能,php的运行模式对性能还是有一定影响的比如fastcgi比mod方式的运行效率高一些,当然zend optimizer等php优化程序还是必要的。

2、精简配置是个好习惯
...

学习一下