统计排行 社区应用 社区服务 会员列表 最新帖子 精华区 帮助
主题 : 杀mysql sleep 进程的脚本{摘抄的]
骨头 离线
级别: 管理员
UID: 403582
精华: 3
发帖: 25331
金钱: 6224 两
威望: 132944 点
PW积分: 957 点
技术分: 0 分
团队工龄: 2 月
群组: PHPWind社区运营
在线时间: 6775(时)
注册时间: 2005-08-02
最后登录: 2010-03-13
楼主  发表于: 2007-09-03   

杀mysql sleep 进程的脚本{摘抄的]

#It is used to kill processlist of mysql sleep~~~
#!/bin/sh
while :

do
        n=`/opt/mysql/bin/mysqladmin processlist|grep -i sleep |wc -l`
        date=`date +%Y%m%d\[%H:%M:%S]`
        echo $n
#      id=`/opt/mysql/bin/mysqladmin processlist |grep Sleep |awk '{if ($12  gt; 100) {print $2}}'`
#      echo  quot;$date : $n quot;  gt; gt; /tmp/sleep.log
#      if [ id !=  quot; quot; ]
#      then
#              for j in $id
#              do
#              /opt/mysql/bin/mysqladmin kill $j
#              echo  quot;$date : sleep is to long  quot;  gt; gt; /tmp/sleep.log
#      fi
#
        if [  quot;$n quot; -gt 60 ]
        then

                for i in `/opt/mysql/bin/mysqladmin processlist|grep -i sleep |awk '{print $2}'`
                do
                        /opt/mysql/bin/mysqladmin kill $i
                done
                echo  quot;sleep is too many i killed it  quot;  gt; gt; /tmp/sleep.log
                echo  quot;$date : $n quot;  gt; gt; /tmp/sleep.log
        fi             
        sleep 1
done

=============2008-7-16-=============

[pre]关于Apache与MYsql的持续连接太多的问题



  关于Apache::DBI与MYsql的持续连接太多的问题大家已经研
究了一段时间了。

我经过这几天研究发现mod_perl提供的持续连接并不智能(也许是我还没有找到更好的解决方案),如果脚本中的参数和初始化的参数不一样,在内存中会出现两个句柄。

Apache::DBI- gt;connect_on_init(\\ quot;DBI:mysql:mysql:localhost\\ quot;,\\ quot;root\\ quot;,\\ quot;root\\ quot;,
{
PrintError = gt; 1,
RaiseError = gt; 0,
AutoCommit = gt; 1,
});



my $dbh = DBI- gt;connect(\\ quot;DBI:mysql:database=localhost\\ quot;,\\ quot;root\\ quot;,\\ quot;root\\ quot;,{
PrintError = gt; 1,
RaiseError = gt; 0,
AutoCommit = gt; 1,
});

以上两个语句实现同一个连接,返回同一种结果,但是他们的概念完全不一样。

经过统一参数,写作方法,和格式。测试后,发现process不再无故增长,达到预
期效果。

事故原因分析:对于一个数据库,Apache::DBI建立一个持续连接, 如果在
startup.pl文件中初始化的时候采用一种书写格式,参数,而脚本中
DBI- gt;connect又采用不同的连接方式和格式,因此假如一个以上的句柄实现同一个
目的(连接同一个数据库)的话,最后一个连接进入时,它会企图查找最后一个相
匹配的句柄(Handler),换句话说就是找一个参数,格式都一样的句柄。这里问题
就出来了,内存中存在两个实现同一目的的句柄(但是格式或参数不一样),这个
连接无法识别应该使用哪一个,所以被迫建立一个新的句柄,而导致原先的句柄继
续Sleep(我管它叫做僵尸句柄)。

解决方案:其实解决方法非常简单,因为昨天我也在其他操作系统上(RedHat 7)装
了Apache+Mod_perl+Mysql,仍然出现相同的问题。根据内存分析与同伴们的测
试。得出一个结论,当内存中连接同一数据库的句柄数在一个以上的时候,
process会无故增加,当句柄为一个的时候,process不会增长,而采用原有内存中
的句柄,这个就是我们想要的。为实现这一目的,我们需要统一初始化和connect
的格式,参数和相关信息

关于并发处理:测试发现,句柄初始化在process中建立的5个连接完全可以人工控
制。修改MinSpareServers(最小空闲服务器)和MaxSpareServers(最大空闲服务器)
的数量。该数量放的越大,服务器的并发处理能力就越高。但是我们要付出的是宝
贵的内存为代价,根据网站的点击次数合理调节该数量是最为明智的选择。如果服
务器遇到大量并发请求,系统会自动克隆相应的句柄以适应并发的数量。当请求完
毕后,系统将自动断开克隆的句柄以释放沉余的内存。大家看下面的例子,我采用
ab(ApacheBench)这个工具对服务器请求5000次,并发数为100,观看mysql的句柄
线程数,最高峰值达到50,当请求完毕后,释放沉余的句柄空闲内存,这时线程数
量又恢复到5个(我的Apache Config File中 MaxSpareServers 设置为5)。

D:\\\\ gt;ab -n 5000 -c 100 http://10.4.1.32/mod_perl/dbi.cgi
This is ApacheBench, Version 1.3e  lt;$Revision: 1.69 $ gt; apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.
net/
Copyright (c) 1998-2001 The Apache Software Foundation,
http://www.apache.org/

Benchmarking 10.4.1.32 (be patient)
Completed 500 requests
Completed 1000 requests
Completed 1500 requests
Completed 2000 requests
Completed 2500 requests
Completed 3000 requests
Completed 3500 requests
Completed 4000 requests
Completed 4500 requests
Finished 5000 requests
Server Software: Apache/1.3.20
Server Hostname: 10.4.1.32
Server Port: 80

Document Path: /mod_perl/dbi.cgi
Document Length: 99 bytes

Concurrency Level: 100
Time taken for tests: qd.qd seconds
Complete requests: 5000
Failed requests: 0
Write errors: 0
Total transferred: 1220000 bytes
HTML transferred: 495000 bytes
Requests per second: 132.37 [#/sec] (mean)
Time per request: 755.48 [ms] (mean)
Time per request: 7.55 [ms] (mean, across all concurent requests)
Transfer rate: 32.30 [Kbytes/sec] received

Connnection Times (ms)
min mean[+/-sd] median max
Connect: 0 3 72.2 0 2964
Processing: 80 743 3199.6 260 37263
Waiting: 10 725 3198.1 240 37253
Total: 80 746 3200.0 260 37263

Percentage of the requests served within a certain time (ms)
50% 260
66% 320
75% 420
80% 490
90% 741
95% 3054
98% 4606
99% 4626
100% 37263 (last request)[/pre]
清空我的评分动态本帖最近评分记录: 共2条评分记录
﹎sκyˊ☆ 威望 +3 2007-09-03 -
﹎sκyˊ☆ 威望 +3 2007-09-03 -
隐藏评分记录
关键词: mysql phpwind
man20 离线
级别: 荣誉会员
UID: 12337
精华: 6
发帖: 9459
金钱: 1128 两
威望: 13058 点
PW积分: 36 点
技术分: 0 分
团队工龄: 46 月
群组: phpwind支持团队
在线时间: 1467(时)
注册时间: 2004-06-24
最后登录: 2009-12-22
沙发  发表于: 2007-09-03   
久违的技术帖子。
清空我的评分动态本帖最近评分记录: 共2条评分记录
骨骨 威望 +8 2007-09-03 捧场有奖
骨骨 威望 +8 2007-09-03 捧场有奖
隐藏评分记录
                                     美国空间  招牌互联(IDCsign.com)
虚 拟 主 机-论坛空间---点击咨询---------
总抱怨自己没有乳沟,所以 立志挤乳沟,一个人挤一次乳沟并不难,难的是一辈子都挤好乳沟!--时间
heymi 离线
级别: 荣誉会员
UID: 892016
精华: 0
发帖: 28994
金钱: 9826042 两
威望: 16014829 点
PW积分: 500 点
技术分: 0 分
团队工龄: 0 月
群组: PW猥琐神教
在线时间: 5526(时)
注册时间: 2006-09-01
最后登录: 2010-03-13
2楼  发表于: 2007-09-03   
不错
pcb123 离线
级别: 二星会员
UID: 431240
精华: 0
发帖: 408
金钱: 315 两
威望: -41 点
PW积分: 15 点
技术分: 0 分
团队工龄: 0 月
在线时间: 168(时)
注册时间: 2005-08-26
最后登录: 2009-12-26
3楼  发表于: 2007-09-09   
期待已久,谢意!
级别: 禁止发言
UID: 699049
精华: 1
发帖: 2637
金钱: 465 两
威望: 12 点
PW积分: 10 点
技术分: 0 分
团队工龄: 0 月
群组: PHPWind 七剑
在线时间: 393(时)
注册时间: 2006-04-20
最后登录: 2009-12-30
4楼  发表于: 2007-10-26   
用户被禁言,该主题自动屏蔽!
MGarfield 离线
级别: 荣誉会员
UID: 95184
精华: 0
发帖: 516
金钱: 679 两
威望: 212 点
PW积分: 18 点
技术分: 0 分
团队工龄: 0 月
在线时间: 574(时)
注册时间: 2004-11-09
最后登录: 2010-03-09
5楼  发表于: 2008-07-16   
不错学习了~
级别: 一星会员
UID: 1680734
精华: 0
发帖: 104
金钱: 277 两
威望: 0 点
PW积分: 5 点
技术分: 0 分
团队工龄: 0 月
在线时间: 16(时)
注册时间: 2008-06-20
最后登录: 2008-08-25
6楼  发表于: 2008-07-19   
好好,顶顶
rzhq 离线
级别: 初来乍到
UID: 1704313
精华: 0
发帖: 16
金钱: 191 两
威望: 0 点
PW积分: 5 点
技术分: 0 分
团队工龄: 0 月
在线时间: 3(时)
注册时间: 2008-07-21
最后登录: 2008-09-22
7楼  发表于: 2008-07-22   
恩支持你 骨头 不吃肉只啃骨头
117666 离线
级别: 一星会员
UID: 884809
精华: 0
发帖: 176
金钱: 338 两
威望: -17 点
PW积分: 0 点
技术分: 0 分
团队工龄: 0 月
在线时间: 23(时)
注册时间: 2006-08-26
最后登录: 2009-08-12
8楼  发表于: 2008-07-24   
我不吃肉只啃骨头
wellpiez 离线
级别: 初来乍到
UID: 1707045
精华: 0
发帖: 5
金钱: 180 两
威望: 0 点
PW积分: 5 点
技术分: 0 分
团队工龄: 0 月
在线时间: 0(时)
注册时间: 2008-07-24
最后登录: 2008-07-24
9楼  发表于: 2008-07-24   
租用服务器的可以找我,我们全国大大小小有30几个机房可以选择,绝对有让你满意的,QQ 908267931 张先生  

我们在河南就一直有双线机房在合作,南京也有,朋友可以加我谈谈  

厦门维派科技  
专业提供低价空间,双线空间,vps服务器,带宽租用, 百M独享,G口带宽  
描述
快速回复

温馨提示:欢迎交流讨论,请勿纯表情、纯引用!
验证问题:
你将要注册的是什么网站<答:phpwind> 正确答案:phpwind
按"Ctrl+Enter"直接提交