【发布时间】:2014-02-27 20:54:58
【问题描述】:
我正在使用jmeter 对使用 CloudSQL 的 GAE Web 服务进行压力测试,但我遇到了间歇性通信链路故障异常。
我尝试过使用直接连接和连接池,但在这两种情况下我都看到了异常。随着每秒请求数的增加,异常也会增加。
请注意,我们使用的是最高层的云 sql,D32,并且测试远低于最大 3200 个连接。
这是一个堆栈跟踪供参考:
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
at sun.reflect.GeneratedConstructorAccessor48.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:33)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1117)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:350)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2413)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2450)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2235)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:818)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
at sun.reflect.GeneratedConstructorAccessor46.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:33)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:404)
at com.mysql.jdbc.GoogleNonRegisteringDriver$JdbcWrapper.getInstance(GoogleNonRegisteringDriver.java:276)
at com.mysql.jdbc.GoogleNonRegisteringDriver.connect(GoogleNonRegisteringDriver.java:246)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
更新:我将连接池设置更改为 maxActive = 5 和 maxIdle = 5,并且间歇性通信链接异常消失了。请注意,我已经尝试过 commons dbcp 和 tomcat dbcp。我现在在日志中看到以下异常:
原因:java.sql.SQLException:java.lang.SecurityException:无法访问gatherPerformanceMetrics
原因:java.sql.SQLException:java.lang.SecurityException:无法访问includeThreadDumpInDeadlockExceptions
原因:java.sql.SQLException: java.lang.SecurityException: Unable to access nullNamePatternMatchesAll
【问题讨论】:
标签: google-app-engine jmeter google-cloud-sql