今天发现网站访问老是出错,查看日志如下:
211.151.** - - [10/May/2010:12:48:43 +0800] "GET /caiwuguanli/407610/ HTTP/1.1" 499 0 "-" "-"
211.151.** - - [10/May/2010:12:48:43 +0800] "GET /296059/ HTTP/1.499 01" "-" "-"
211.151.** - - [10/May/2010:12:48:46 +0800] "GET /renliziyuan/404515/ HTTP/1.1" 499 0 "-" "-"
mysql慢查询日志:
# Time: 100327 12:48:40
# User@Host: master[master] @ [127.0.0.1]
# Query_time: 0.629562 Lock_time: 0.000109 Rows_sent: 5 Rows_examined: 356982
SET timestamp=1269665320;
SELECT g.course_id,abs(is_lost-1) as is_lost FROM ***_goods_fields g
LEFT JOIN ***_course c ON g.course_id=c.course_id LEFT JOIN ***_store s
ON g.store_id=s.store_id WHERE c.status = 1 AND s.state =4 GROUP BY
g.course_id ORDER BY s.sgrade_weight DESC,s.certification DESC,is_lost
ASC,c.first DESC,c.update_date DESC limit 0,5;
# User@Host: master[master] @ [127.0.0.1]
# Query_time: 0.006317 Lock_time: 0.000029 Rows_sent: 1 Rows_examined: 25318
SET timestamp=1269665320;
SELECT count(*) FROM ***_sessions WHERE expiry >=1269665320;
# Time: 100327 12:48:43
# User@Host: master[master] @ [127.0.0.1]
# Query_time: 0.008097 Lock_time: 0.000040 Rows_sent: 1 Rows_examined: 25318
SET timestamp=1269665323;
SELECT count(*) FROM ***_sessions WHERE expiry >=1269665323;
询问
开发人员发现是session的表有问题,在每次baidu跟google等来抓取的时候,session经常出问题,找到问题就提交给开发人员去处理了!
根据网上资料据说是可能需要优化了可是我的负载不高啊,
试试吧:
可以看到,499对应的是 “client has closed connection”。这很有可能是因为服务器端处理的时间过长,客户端“不耐烦”了。要解决此问题,就需要在程序上面做些优化了。
除了499,nginx还定义了495/496/497/498 这几个Status Codes,相应的意义也在上面的注释中可以看到。开源的东西,可以随时翻看源码,这一点很棒。
但是我已经优化的差不多了,看看内存小了点,我用的xen,增加2G的内存,重启机器,效果不理想,还是一样,感觉不对劲,我就联系了机房想查看是不是机房出问题了,机房的回答是不管什么样的页面,只要是网站就要备案不备案就出现这种情况,看来不是我的事了,备案吧。
满查询日志参考:http://blog.chinaunix.net/u3/103362/showart.php?id=2338093
阅读(813) | 评论(1) | 转发(0) |