一种web站点访问的慢搜索方法及解决方案
点评:今天有不少游客反映了网站的缓慢访问。我看它真的很慢。我写下我已经解决的解决方案并与你分享。当网站慢下来思考一些原因的时候:
1。程序代码执行方面
2。大量的数据库操作
三.域名解析问题
4。服务器环境
我就是这么做的。让我们说下一步。
1。开放存取现场观测的情况下慢,通过查看工具fixfox Firefox插件或IE元素,您的网站在加载信息将显示一目了然,并且这些元素加载耗时多少秒等等,如何解决,远程时间js下载或删除。
2、我看到在下一页中有许多连接数据库操作的地方。有远程数据库操作和冗余的数据库连接代码。
解决办法很快,但还不够理想。所以我把页面执行数据库代码放在数据库中,并没有慢慢消耗。
三.域名在DNS的情况下就是其中之一,不要试图查找域名业务问题,你不能在同一个页面上写一个数据服务器名称,看看是否访问得一样慢,如果可能的话,你得让周围的人都能看到,那是你和公司的人。
4。让我看看服务器的情况,它不是CPU的使用率太高了。
顶发现CPU的使用率不高啊,大约30%,但发现有问题,睡眠次数越多,擦去,最好不要成为僵尸程序,但现在它不多了。
B.看接下来的等待时间量:发现mysqld和httpd,大多来自httpd;命令NETSTAT - AE | grep time_wait
如何解决等待时间的质量问题
time_wait解:
六 / / sysctl.conf等
编辑文件,添加以下内容:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 30保持连接时间
net.ipv4.tcp_max_tw_buckets = 100这是time_wait,由服务器保持在同一时间数
那么 / / sbin sysctl -p执行让参数生效。
为Apache设置配置文件:
客户端超时10超时时间
它在可多次发送一个连接,这样多个HTTP请求可以通过一个连接
maxkeepaliverequests 50建立一个连接,多少请求可以由
keepalivetimeout 15如果服务器已经完成了一个请求,有多久没有到下一个请求被接受,将断开连接
保存重新启动Apache
完成操作后设置:
netstat -n | awk / ^ TCP / { + +的{ } { }结束美元NF为(我的)打印我的{我} }
你会发现它很成功的。
如果不满意,可以再ulimit参数设置
猫> > / / /安全等限制。conf << EOF
*软nofile 655350
*硬nofile 655350
EOF
然后改- SHn将生效。
好吧,当你再看一遍的时候,你会发现它更成功。
如果你发现很多mysqld,可以优化你的MySQL的性能:参见MySQL性能调优
嗯,这做的,看看第一time_wait发现有很多百度的机器人,是非常严重的。netstat -星系
最后,只能忍痛割爱,把百度蜘蛛在robots.txt屏蔽,这只是一个临时的解决方案。
下一步是使首页纯静,我就在这里。