2G内存被apache用光了,cpu一直在50%以上,系统还承受的了吗,求高手来看

2G内存被apache用光了,cpu一直在50%以上,系统还承受的了吗,求高手来看

刚把整个网站换到了一台新服务器上
现在是下午13点
15分钟在线的用户是500人
apache是worker模式
下面是top的数据

[Copy to clipboard] [ - ]
CODE:
top - 13:00:08 up  9:38,  4 users,  load average: 2.01, 2.02, 2.04
Tasks:  64 total,   2 running,  62 sleeping,   0 stopped,   0 zombie
Cpu(s): 78.7% us, 21.0% sy,  0.0% ni,  0.0% id,  0.0% wa,  0.3% hi,  0.0% si
Mem:   2067264k total,  2023688k used,    43576k free,    53036k buffers
Swap:  4096564k total,        8k used,  4096556k free,  1641272k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                       
3052 nobody    16   0  746m  81m 2960 S  4.3  4.0   3:58.03 httpd                                          
2518 nobody    16   0  733m  68m 2964 S  4.7  3.4   3:56.36 httpd                                          
26915 mysql     15   0  281m  49m 3300 S 72.9  2.5  19:21.83 mysqld                                         
6679 nobody    16   0  414m  47m 2956 S  0.0  2.3   0:09.71 httpd                                          
7444 nobody    16   0  689m  21m 2932 S 17.3  1.1   0:01.76 httpd                                          
2708 root      16   0 14668 6744 2532 S  0.0  0.3   0:00.08 httpd

work的配置为

QUOTE:
<IfModule worker.c>
StartServers         2
MaxClients        1024
ServerLimit         16
MinSpareThreads     25
MaxSpareThreads     75
ThreadsPerChild     64
MaxRequestsPerChild  0
</IfModule>

服务器的配置比较差,是p4 2.8的cpu   2G内存  sata的硬盘

到晚上了,用户多了能行吗
现在一天有10W的pv,流量再高一点呢

apache应该怎么来配置

内存是拿来用,不是用来看的。
CPU使用率是大部分mysql占用的。没办法,我管理的其中一台服务器更吃力,前台的数据库连接查询太多,CPU占用率一直在80%以上呢,打算数据库服务器和应用服务器分开。
看过了,晚上高峰期,cpu占用率持续在90%以上,经常出现100%
mysql内存占得太少了,调大点,都没用到swap,担心什么
建议先优化一下mysql,你现在的瓶颈在mysql,可能是mysql没优化好,或者你的网站程序关于数据库的查询没优
化好。

就你现在的用户数和pv,你的服务器应该是绰绰有余的。


QUOTE:
原帖由 zhangweibo 于 2007-1-14 20:01 发表
建议先优化一下mysql,你现在的瓶颈在mysql,可能是mysql没优化好,或者你的网站程序关于数据库的查询没优
化好。

就你现在的用户数和pv,你的服务器应该是绰绰有余的。

说的太对了。
有时一个不好的SQL,可以把服务器搞死。
可以尝试换lighttpd
重要的應該是 load average: 2.01, 2.02, 2.04 這個。
單cpu不到5的話就不用管。


QUOTE:
原帖由 KissNoway 于 2007-1-13 22:08 发表
内存是拿来用,不是用来看的。
CPU使用率是大部分mysql占用的。没办法,我管理的其中一台服务器更吃力,前台的数据库连接查询太多,CPU占用率一直在80%以上呢,打算数据库服务器和应用服务器分开。

对,分开服务器是最好的选择。 Mysql 也不能盲目优化,建议参考 mysql  附带的 my-huge,my-large,my-medium 来优化你目前的 mysql 配置。



QUOTE:
原帖由 likuku 于 2007-1-18 22:08 发表


对,分开服务器是最好的选择。 Mysql 也不能盲目优化,建议参考 mysql  附带的 my-huge,my-large,my-medium 来优化你目前的 mysql 配置。

这台服务器目前的瓶颈就在mysql,分开服务器当然好,500在线,mysql的cpu负载这么大就有问题了。mysql优化是个长期的过程,每天都边观察边微调参数,我想肯定能解决这个问题的。