Rootop 服务器运维与web架构

httpd 进程多 但正常连接少

| 暂无评论

      一台服务器中httpd进程达到一千多,在httpd.conf中配置的最大ServerLimit连接数为1000.这样看来服务器出现了新问题,用netstat查看已经连接的80端口数量并不算多,实际上并没有太多人访问。开始在网上查找资料,发现一片文章说sql语句的问题,导致httpd进程异常。然后根据提示,配置mysql:

vi /etc/my.cnf

add:

log-slow-queries=queries-slow.log

作用就是记录语句中查询超时之类的错误。服务器跑一会,检查日志:

/usr/libexec/mysqld, Version: 5.1.61-log (Source distribution). started with:
Tcp port: 3306  Unix socket: /var/lib/mysql/mysql.sock
Time                 Id Command    Argument
# Time: 120904 16:11:34
# User@Host: m7xxx[m7xxx] @ localhost []
# Query_time: 12.579957  Lock_time: 0.000117 Rows_sent: 605  Rows_examined: 4475386
use m7xxx;
SET timestamp=1346746294;
SELECT h.`id`, h.`name`, c.`QN` AS `city`, h.`address`, i.`tel`^M
                FROM `f7_hotel` h^M
                LEFT JOIN `f7_hotel_info` i ON i.`id` = h.`id`^M
                LEFT JOIN `f7_district` c ON c.`id` = IF(h.`city`=0, h.`province`, h.`city`)^M
                LEFT JOIN `f7_price` p ON p.`hotel` = h.`id` AND p.`close` = 0^M
                WHERE p.`id` IS NOT NULL AND p.`roomtype` != 0 AND h.`close` != 1^M
                GROUP BY p.`hotel`;

这段错误给php开发一看便知道问题。原来city没有加索引。

资料:http://www.doc88.com/p-063193394568.html

(本人开发白痴,哎)

原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/1363.html

作者:Venus

服务器运维与性能优化

发表回复