`
kaka2008
  • 浏览: 93412 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

做压力测试时疑似被防火墙拦截

    博客分类:
  • java
阅读更多
    系统部署到正式服务器上,要做压力测试。
    昨天在单位压200个用户并发,到160多个后,出现大量的连接超时。结果就是通不过200个并发用户。关了loadrunner,访问系统,系统已经访问不了。晚上回来访问还是无法访问。今天一早打算去机房看看,去之前再访问系统,竟然能访问,速度还不错。

    到了机房,连接上服务器一看日志,昨天有outOfMemory,重启了系统,在机房现场压,同样,并发访问到140个用户之后,系统就会出现大量超时,访问失败。
    修改mysql最大连接数到100000,tomcat最大用户数到5000,重启系统,再压一次,最多到160,系统就不行了。打开jconsole,报了好多SocketError。

    我们系统并发访问量小,技术上原因,做到淘宝那种千万百万级别的并发访问并不现实,可是理论上应该并发400没问题,所以一定是某个地方出了问题了。
    看了拓扑图,外网访问应用服务器,要经过一道防火墙,应用服务器连接数据库服务器又要经过一道防火墙,所以判断有可能是防火墙的问题。
    于是在应用服务器上装了数据库,改连本机的数据库,重新启动后。同时并发200个用户很顺利,2分钟搞定,tomcat内存占用也不多,不到1个G。300个也很快。只是后来到了390个后,开始报连接超时,此时内存占用是1.9个G。390个并发用户可以基本满足要求了。

    看来确实是防火墙的问题,请求被第二道防火墙拦截。明天去了请防火墙厂商的人修改下参数。同时,我再试试加大tomcat内存,使并发数再大一些。好像今天修改tomcat内存,最大就到2G。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics