什么样的情况下数据库会宕机

什么样的情况下数据库会宕机,第1张

如果获得连接的方式中包含"自动尝试连接"属性,就会出现这种情况.因为查找数据库连接的消耗是除网络IO外的最大诱因,包括连接串或者程序中的程序设置连接次数,都会造成线程的堵塞.

另,也与异常的处理方式有很大关系,不论是driverManager获取或者数据源获取连接,在未能获取连接时的异常处理将会影响后面的进程.

在was中,若使用数据源,那还有一个原因就是应用服务器的连接池机制本身.因为用户应用的连接实际上取的是连接池中的连接而非物理连接,连接池有自身的一套处理机制,在获得缓冲的同时,也会在数据库和用户应用之间造成一定的时间差和状态差.因此,可能的情况是数据库实际上已经拒绝服务(含堵塞/停止等),而应用服务器连接池中的某些连接仍可用,这时候,pool的处理和应用的处理的消耗就造成了应用服务器的堵塞.对于这种情况的处理,只有依据实际情况对数据源和数据库的参数进行调整.

1,首先通过任务管理器进行进程排序,查找占用内存较大的程序进程。一般占用内存较大的进程有W3WP、sqlserver、mysqld-nt.exe;

2, 站点进程w3wp 可以在cmd命令行中通过 iisapp 命令来对应是那个网站占用内存较大。可以通过设置回收时间、内存最大使用值或共用进程池来减少内存的占用,但是如果要保证网站的访问质量,还是建议升级至更高型号来解决;

3,数据库 sql server 也可以通过数据库的企业管理器来设置最大内存占用,但是如果网站程序必须要占用较大内存的话,设置后会发生页面报错、打不开等问题;

4,MYSQL本身会占用较大虚拟内存,如果不使用mysql数据库的话,可以将其停止。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6726552.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存