Chinaunix首页 | 论坛 | 博客
  • 博客访问: 75386
  • 博文数量: 32
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 510
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-09 09:12
文章分类

全部博文(32)

文章存档

2011年(1)

2008年(31)

我的朋友
最近访客

分类: LINUX

2008-08-13 20:08:39

在重负荷下,影响apache性能的主要是mpm模块。现在可用的基本是两个,一个是传统(apache 1.3)的prefork,另外一种方式就是 apache2 引入的 worker模式了。据称worker可以降低负荷,根据我的测试,确实如此。但是woker毕竟比较新,所以稳定性需要认真考虑,如果不是有特别需求,用apache 1.3 + prefork是一个比较合适的选择, 2.0还是用worker吧。
worker的配置:




StartServers 2
ServerLimit 80
MaxClients 800
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 10
MaxRequestsPerChild 0



ThreadsPerChild : 每个线程最多接受的连接,这个数值乘以运行的服务器数就是 maxclients 的值了。 maxclients如果要超过256,需要在前面加一个 serverlimit参数,这个参数要在 worker模块前面。
ServerLimit 800

在linux下,mysql的最大连接数是100,如果站点比较大,这个数值肯定是不够的,典型的现象就是在一些论坛上经常出现的 Warning: MySQL Connection Failed: Too many connections
in xxxx.php。在 Debian Sarge中,要解决这个问题是很简单的。
debian的mysql设置全部放在 /etc/mysql/my.cnf 这个文件,只要用vim打开这个文件,加入max_connections参数就可以了,参考:

[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306

max_connections = 1000

阅读(688) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~