主题 : 杀mysql sleep 进程的脚本{摘抄的]
老子曰:莫装逼,装逼雷都不劈!
级别: 管理员
UID: 403582
精华: 3
发帖: 21846
威望: 129278 点
金钱: 2789 两
贡献值: 139880 点
PW积分: 955 点
群组: PHPWind 七剑
在线时间: 5515(时)
注册时间: 2005-08-02
最后登录: 2009-07-04
楼主  发表于: 2007-09-03 09:22

杀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]
本帖最近评分记录:
  • 威望:+3(﹎sκyˊ☆)
  • 搜索更多相关文章:mysql phpwind
    认认真真
    级别: 荣誉会员
    UID: 12337
    精华: 6
    发帖: 9488
    威望: 13060 点
    金钱: 952 两
    贡献值: 176905 点
    PW积分: 36 点
    群组: phpwind支持团队
    在线时间: 1465(时)
    注册时间: 2004-06-24
    最后登录: 2009-06-19
    沙发  发表于: 2007-09-03 14:37

    久违的技术帖子。
    本帖最近评分记录:
  • 威望:+8(骨骨) 捧场有奖
  •                                      美国空间  招牌互联(IDCsign.com)
    虚 拟 主 机-论坛空间---点击咨询---------
    总抱怨自己没有乳沟,所以 立志挤乳沟,一个人挤一次乳沟并不难,难的是一辈子都挤好乳沟!--时间
    说点什么呢
    级别: PW官方团队
    UID: 892016
    精华: 0
    发帖: 28819
    威望: 214672 点
    金钱: 3648 两
    贡献值: 541 点
    PW积分: 51 点
    在线时间: 5058(时)
    注册时间: 2006-09-01
    最后登录: 2009-07-04
    地毯  发表于: 2007-09-03 17:59

    不错
    级别: 二星会员
    UID: 431240
    精华: 0
    发帖: 345
    威望: 4 点
    金钱: 129 两
    贡献值: 0 点
    PW积分: 15 点
    在线时间: 154(时)
    注册时间: 2005-08-26
    最后登录: 2009-06-24
    3楼  发表于: 2007-09-09 10:24

    期待已久,谢意!
    汉字宫网感谢DEDE提供这么优秀的程序 汉字宫www.hanzigong.org 我前天刚做的网站,就被百度和G ..
    级别: 四星会员
    UID: 699049
    精华: 1
    发帖: 2660
    威望: 7 点
    金钱: 497 两
    贡献值: 0 点
    PW积分: 10 点
    群组: PHPWind 七剑
    在线时间: 393(时)
    注册时间: 2006-04-20
    最后登录: 2009-07-01
    4楼  发表于: 2007-10-26 21:12

    骨骨,你太棒了,严重支持你!老朋友了!  
    佛教论坛www.xunfo.com/bbs父母大学www.fumuedu.com,佛教网站搜索导航www.xunfo.com 佛教万册书www.foshu.org 都是牛站啊
    我们不是在对个别人作战,而是在将资产阶级作为一个阶级消灭。
    级别: PW官方团队
    UID: 95184
    精华: 0
    发帖: 510
    威望: 211 点
    金钱: 496 两
    贡献值: 0 点
    PW积分: 18 点
    在线时间: 572(时)
    注册时间: 2004-11-09
    最后登录: 2009-02-20
    5楼  发表于: 2008-07-16 17:37

    不错学习了~
    国内首款php开源DIGG系统
    PBDiggpbdigg.com 免费 & 开源


    级别: 一星会员
    UID: 1680734
    精华: 0
    发帖: 104
    威望: 0 点
    金钱: 102 两
    贡献值: 0 点
    PW积分: 5 点
    在线时间: 16(时)
    注册时间: 2008-06-20
    最后登录: 2008-08-25
    6楼  发表于: 2008-07-19 12:05

    好好,顶顶
    级别: 初来乍到
    UID: 1704313
    精华: 0
    发帖: 16
    威望: 0 点
    金钱: 16 两
    贡献值: 0 点
    PW积分: 5 点
    在线时间: 3(时)
    注册时间: 2008-07-21
    最后登录: 2008-09-22
    7楼  发表于: 2008-07-22 17:09

    恩支持你 骨头 不吃肉只啃骨头
    1Gphp 150/年
    级别: 一星会员
    UID: 884809
    精华: 0
    发帖: 174
    威望: -7 点
    金钱: 167 两
    贡献值: 0 点
    PW积分: 0 点
    在线时间: 23(时)
    注册时间: 2006-08-26
    最后登录: 2009-06-08
    8楼  发表于: 2008-07-24 13:07

    我不吃肉只啃骨头
    级别: 初来乍到
    UID: 1707045
    精华: 0
    发帖: 5
    威望: 0 点
    金钱: 5 两
    贡献值: 0 点
    PW积分: 5 点
    在线时间: 0(时)
    注册时间: 2008-07-24
    最后登录: 2008-07-24
    9楼  发表于: 2008-07-24 17:30

    租用服务器的可以找我,我们全国大大小小有30几个机房可以选择,绝对有让你满意的,QQ 908267931 张先生  

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

    厦门维派科技  
    专业提供低价空间,双线空间,vps服务器,带宽租用, 百M独享,G口带宽  
    低价空间,双线空间,服务器合租,机柜出租,G口,vps,QQ  908267931