设为首页 收藏本站
查看: 713|回复: 0

[经验分享] SQL Server 2005 和JBOSS 4 系统运行缓慢--高并发系统探讨(1)

[复制链接]

尚未签到

发表于 2015-6-29 14:56:46 | 显示全部楼层 |阅读模式
  今天下午,我们搭建了测试服务器,客户的两个管理人员,正在不停的添加数据,突然说页面打开错误,同时添加数据很慢,这时通过监控数据库服务器发现sql语句发现执行正常,但是客户的页面打不开。这时由于JBOSS服务器和数据库服务器都是放在一个服务器上,这时我看看内存和CPU,发现CPU占用100%,一般都在98%以上。这时很奇怪了,sql语句执行都比较快,为何内存占用98%居高不下,而且服务器还是中午重新启动过了。
   DSC0000.jpg

  这时我们关闭JBOSS服务器,这时cpu的一下下降到了5%左右。
  
     这时继续让业务人员继续录入数据,不过多久,又出现页面打不开的情况,这时没办法,让用户停止添加数据。通过sql监控发现也是执行时间正常,这时通过两个方法来监控数据库。
  1,SQL server 2005 里的Profiler监控正在执行什么语句
  2,同时通过DMVs监控数据库执行了语句次数。
DSC0001.jpg
DSC0002.jpg
  上面两个图是在业务人员停止录入数据后,所有人停止操作业务系统情况下,间隔几分钟的数据库前后执行语句次数。同时通过SQL Server Profiler监控发现数据库还在不停的执行sql语句,但是这时业务人员已经全部停止操作业务系统了。
  为何还是在执行JBOSS 服务器提交过来的SQL语句。
  这时我想起来,在Eclipse中调试程序时,发现设置了一个断点,没执行完,但是在前台还是可以操作的。这时一下子就明白很多了。
   前提
  1,在这里我还特意设定了为快照隔离级别,保证读写不互相堵塞情况下发生的。
  2,Insert表有6万次表中就只有两个索引,一个单列聚集索引(32位字符),另一般索引(32位字符)
  3,客户用户只有2个人同时频繁操作一个模块。
    原因:
  原来是java中的Servlet造成的,由于Servlet是多线程的。一个请求就是一个线程,这时如果用户操作的比较频繁,而且这时涉及到SQL语句比较多(虽然很短),但在SQL Server还是一条一条执行的。一下很多请求过来,JBOSS服务器,堆积了很多请求,都在竞争的象SQL Server提交。这时我们发现其实业务操作人员没操作,但数据库还是在不停的执行由JBOSS提交过来的请求的。
    解决办法:            
  这种情况的确出在设计阶段,就应该检测修改,现在通过优化数据库是无能为力,只能通过改程序(或修改业务逻辑等),这也反映了系统的高并发差
    总结:
  1,一个好的系统的确是设计和写出来的,而不是建立诸如几个索引提高的。
  2,在高并发情况下,数据库执行的时间越短越好。(减少执行时间
  3,能通过一条SQL语句取出的数据,绝不能使用两条以上的SQL语句去取数据. (减少交互次数
  4,特别是在高并发情况下,注意使用绑定变量(减少分析和获取执行计划时间

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-81569-1-1.html 上篇帖子: Sql Server 2008 Reporting Services系列(一) 下篇帖子: SQL Server 查询性能优化——索引与SARG(三)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表