DBMNG数据库管理与应用

书籍是全世界的营养品。生活里没有书籍,就好像没有阳光;智慧里没有书籍,就好像鸟儿没有翅膀。
当前位置:首页 > MySQL > 常见问题

MySQL很容易进程满而死的一个重要原因

建站不容易已经远远超过了我的设想和预期,除了经济上还有技术上的,有些问题不是一般技术人员能解决。不过在这段时间里让我也学会了如何思考问题和解决问题,特别是连续解决了几个问题,可以说真不是开发人员或者别的技术人员能解决的,对此自信心也越来越足了!

  谈到这,必须说下我们的站布衣生活网www.yes81.net,基本配置,LINUX 9.0系统,JBOSS42 WEB服务,MYSQL,从五一到现在,运行有段时间了,目前的访问量是4000IP左右。

  记得以前发生过一个问题也是检查了好久都没解决的,故障一发生CPU就跑到100%左右,系统没响应,MYSQL、JBOSS进程死。当初是通过对一些大数据表建立索引解决的!这次问题现象和这个有点象,死的时候几乎服务没有响应,通过查看后台MYSQL进程,居然已经超过我设置的1000个限制,第1天我把配置改成3000,想想是否跟这个有关,最近的访问量增大了。说实话,我还是不相信并发1000个连接,但事实摆在面前,现在就是1000个进程堵在这!第2天发现3000也不行了,在进程列表中看到基本上很容易就进程满,而且每个进程都在sending data 状态,查找了2天还是无法解决问题,不论是重新配置启动参数还是检查外来攻击都无法解决,按照一些人的说法,把临时缓冲表增大到512M也是没有任何帮助。象这种的每增加个连接都几乎会卡死,而且是sending data 状态!是数据无法发出还是查询不能完成呢?

  带着这个问题,跟开发的沟通,是否存在数据死锁或者没有提交的问题,造成的查询锁死!而且有时候是正常,但大部分是不正常的死锁!查了半天,报告说,程序没发现问题,因为根据命令已经能定位到程序的准确代码上了!那么是什么问题呢?

  想起以前MS SQLSERVER2000下曾经发生过的数据库损坏的问题,也尝试了修复。根据堵塞命令集中在几个重要的表上,其一是餐馆信息表(4万条记录),用修复命令都无法修复!发现设置的类型是inoubox ,把类型改成MYISAM 后再修复,修复也没报告什么错误,但重新启动系统后一切问题就解决了!


本站文章内容,部分来自于互联网,若侵犯了您的权益,请致邮件chuanghui423#sohu.com(请将#换为@)联系,我们会尽快核实后删除。
Copyright © 2006-2023 DBMNG.COM All Rights Reserved. Powered by DEVSOARTECH            豫ICP备11002312号-2

豫公网安备 41010502002439号