定时杀掉processlist sleep状态的线程

2018-12-06 10:03:36

由于程序设计的Bug,导致目前这个项目使用的数据库中有很多Sleep状态的线程。找了很多解决办法,还没发现最终有效的解决方案。只能临时使用如下方法:

编写shell文件,如killSleepProcess.sh


while :do
  n=`mysqladmin -uroot -p*** processlist | grep -i sleep | wc -l`
  date=`date +%Y%m%d\[%H:%M:%S]`  echo $n

  if [ "$n" -gt 10 ]  then
    for i in `mysqladmin -uroot -p*** processlist | grep -i sleep | awk '{print $2}'`    do
      mysqladmin  -uroot -p*** kill $i
    done
    echo "sleep is too many i killed it" >> /root/tmp/sleep.log    echo "$date : $n" >> /root/tmp/sleep.log  fisleep 120 #每隔120 秒 执行一次done
  • 2019-12-01 08:00:16

    PHP中的HTTP_HOST和SERVER_NAME有什么区别

    多域名指向同一个php服务器,用nginx做代理,获取SERVER_NAME都是第一个域名,这就尴尬了,至今不明白咋回事,最后用HTTP_HOST解决都,这个暂时倒是准确。

  • 2019-12-01 08:04:30

    laravel多路由配置,也可以做根据域名都动态路由

    在用laravel 框架开发大型应用的时候,由于 laravel 默认是只有一个路由文件,如果把项目所有模块的路由放在一个路由文件下,那么该路由文件就显得很臃肿,以至于后期难以维护,解决方案是根据不同模块配置不同路由文件。