免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5891 | 回复: 9

测试压力,tomcat会出现错误,导致apache连接不上 [复制链接]

论坛徽章:
0
发表于 2010-03-28 15:19 |显示全部楼层
网站是用apache+mod_jk+tomcat结合的
当tomcat不停重复出现如下的日志时:
java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2851)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1531)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1622)
        at com.mysql.jdbc.Connection.execSQL(Connection.java:2379)
        at com.mysql.jdbc.Connection.execSQL(Connection.java:2306)
        at com.mysql.jdbc.Statement.executeUpdate(Statement.java:129
        at com.mchange.v2.c3p0.impl.NewProxyStatement.executeUpdate(NewProxyStatement.java:64)
        at com.ekor.blueway.db.DB.executeUpdate(DB.java:95)
        at com.ekor.blueway.core.BetProcessorImpl.updateAgentTopVolumn(BetProcessorImpl.java:851)
        at com.ekor.blueway.core.BetProcessorImpl.updateAgentTopVolumn(BetProcessorImpl.java:875)
        at com.ekor.blueway.core.BetProcessorImpl.processBet(BetProcessorImpl.java:1245)
        at com.ekor.blueway.core.BetProcessorImpl.insertBet(BetProcessorImpl.java:1070)
        at com.ekor.blueway.core.BetProcessorImpl.insert(BetProcessorImpl.java:1026)
        at com.ekor.blueway.struts.action.BetAction.sendbet(BetAction.java:171)
        at sun.reflect.GeneratedMethodAccessor44.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
        at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
        at org.apache.struts.actions.MappingDispatchAction.execute(MappingDispatchAction.java:169)
        at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
        at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.ekor.blueway.filter.EncodingFilter.doFilter(EncodingFilter.java:82)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.ekor.blueway.filter.UserInfoValidateFilter.doFilter(UserInfoValidateFilter.java:43)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.ekor.blueway.filter.LoggerFilter.doFilter(LoggerFilter.java:54)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:29
        at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
        at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
        at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:69
        at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
        at java.lang.Thread.run(Thread.java:619)

估计tomcat死了,apache出现这样的日志:
[Sun Mar 28 15:16:23.991 2010] [18045:1283074368] [info] jk_open_socket::jk_connect.c (594): connect to 127.0.0.1:8009 failed (errno=110)
[Sun Mar 28 15:16:23.992 2010] [18045:1283074368] [info] ajp_connect_to_endpoint::jk_ajp_common.c (922): Failed opening socket to (127.0.0.1:8009) (errno=110)
[Sun Mar 28 15:16:23.992 2010] [18045:1283074368] [error] ajp_send_request::jk_ajp_common.c (1507): (tomcat1) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=110)
[Sun Mar 28 15:16:23.992 2010] [18045:1283074368] [info] ajp_service::jk_ajp_common.c (2447): (tomcat1) sending request to tomcat failed (recoverable), because of error during request sending (attempt=2)
[Sun Mar 28 15:16:23.992 2010] [18045:1283074368] [error] ajp_service::jk_ajp_common.c (2466): (tomcat1) connecting to tomcat failed.
[Sun Mar 28 15:16:23.992 2010] [18045:1283074368] [info] service::jk_lb_worker.c (1384): service failed, worker tomcat1 is in local error state
[Sun Mar 28 15:16:24.053 2010] [19275:1210030400] [info] jk_open_socket::jk_connect.c (594): connect to 192.168.18.30:8009 failed (errno=110)
[Sun Mar 28 15:16:24.054 2010] [19275:1210030400] [info] ajp_connect_to_endpoint::jk_ajp_common.c (922): Failed opening socket to (192.168.18.30:8009) (errno=110)


请问大家碰到没有,如何解决,这个时候apache是运行正常的,问题应该是出在tomcat上,加到4个tomcat最后还是会出现这个问题。

论坛徽章:
0
发表于 2010-03-28 20:08 |显示全部楼层
在线等,顶一下!

论坛徽章:
0
发表于 2010-03-30 09:33 |显示全部楼层
http://www.google.com.hk/search? ... tf-8&lr=lang_cn

人家报错都说是MySQL锁超时了,还怪Tomcat。

看看程序吧,是不是加锁忘了解?

论坛徽章:
26
处女座
日期:2016-04-18 14:00:4515-16赛季CBA联赛之深圳
日期:2020-06-02 10:10:5015-16赛季CBA联赛之广夏
日期:2019-07-23 16:59:452016科比退役纪念章
日期:2019-06-26 16:59:1315-16赛季CBA联赛之天津
日期:2019-05-28 14:25:1915-16赛季CBA联赛之青岛
日期:2019-05-16 10:14:082016科比退役纪念章
日期:2019-01-11 14:44:062016科比退役纪念章
日期:2018-07-18 16:17:4015-16赛季CBA联赛之上海
日期:2017-08-22 18:18:5515-16赛季CBA联赛之江苏
日期:2017-08-04 17:00:4715-16赛季CBA联赛之佛山
日期:2017-02-20 18:21:1315-16赛季CBA联赛之天津
日期:2016-12-12 10:44:23
发表于 2010-03-30 11:02 |显示全部楼层
嘿嘿 3楼正解 !

大部分系统的瓶颈不在WEB,而在数据库。

楼主多增加数据库连接池连接数,另外MYSQL 优化下。

论坛徽章:
0
发表于 2010-06-23 13:54 |显示全部楼层
tomcat 的 server.xml中  maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                acceptCount="100"
               connectionTimeout="20000" 等参数调整一下测试看看?

论坛徽章:
0
发表于 2010-06-23 14:59 |显示全部楼层
mysql数据库

论坛徽章:
0
发表于 2010-06-23 19:43 |显示全部楼层
改为连接池试试呢

论坛徽章:
0
发表于 2010-06-24 10:40 |显示全部楼层
各种锁。。。各种连接

1检查下连接是否正常使用? (如事务是否提交,回滚,连接正常关闭等)
2查看数据库的连接占用情况。。

我是来装B的,请给我砖头把

论坛徽章:
0
发表于 2010-06-28 17:36 |显示全部楼层
增加 连接数

论坛徽章:
0
发表于 2010-07-01 21:00 |显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP