Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Grails/Hibernate数据库在负载下崩溃:无法连接(即使在池中)_Mysql_Performance_Hibernate_Grails_Scale - Fatal编程技术网

Mysql Grails/Hibernate数据库在负载下崩溃:无法连接(即使在池中)

Mysql Grails/Hibernate数据库在负载下崩溃:无法连接(即使在池中),mysql,performance,hibernate,grails,scale,Mysql,Performance,Hibernate,Grails,Scale,我在Grails中有一个应用程序。 我使用Hibernate访问数据库(根据标准grails规则) 我使用MySql,网站运行良好,稳定(6个月) 我正在进行负载测试,最近发现数据库在负载下拒绝连接 使用MySQL服务器5,我可以看到连接的线程徘徊在20个左右。我想我在11-30之间跳 mysql> show status like '%con%'; +--------------------------+-------+ | Variable_name | Valu

我在Grails中有一个应用程序。 我使用Hibernate访问数据库(根据标准grails规则) 我使用MySql,网站运行良好,稳定(6个月)

我正在进行负载测试,最近发现数据库在负载下拒绝连接

使用MySQL服务器5,我可以看到连接的线程徘徊在20个左右。我想我在11-30之间跳

mysql> show status like '%con%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| Aborted_connects         | 72    |
| Connections              | 65539 |
| Max_used_connections     | 101   |
| Ssl_client_connects      | 0     |
| Ssl_connect_renegotiates | 0     |
| Ssl_finished_connects    | 0     |
| Threads_connected        | 1     |
+--------------------------+-------+
7 rows in set (0.00 sec)
我的数据库配置是标准配置。(MySql服务器安装在本地,未显示)


我应该调查C3P0吗?或者我应该将maxActive提升到1000并希望达到最佳状态吗?

当Grails无法获得数据库连接时,它会报告什么错误?暂停?拒绝

当您运行测试时,盒子的加载程度如何?CPU、内存使用率等百分比


有可能是数据库过载,导致Grails在获取连接时超时。如果您想要处理负载,您将需要转到池数据库连接。在没有池的情况下,Grails将在每个请求中打开和关闭一个DB连接。

检查您的mysql配置(/etc/mysql.conf或其本地等效配置),特别是最大连接数和每个用户的最大连接数设置;这听起来好像是来自mysql,而不是grails。

看来池和mysql连接限制才是答案。
dataSource {
    pooled = false
    driverClassName = "com.mysql.jdbc.Driver"
    username = "username"
    password = "secret"

    maxIdle = 15
    maxActive = 100        
}