我使用以下代码使用Hibernate配置文件创建数据库连接。
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.username">xxx</property>
<property name="connection.password">xxx</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.jdbc.batch_size">50</property>
<property name="show_sql">true</property>
<!-- C3PO Connection pool setting -->
<property name="hibernate.c3p0.min_size">3</property>
<property name="hibernate.c3p0.max_size">100</property>
<property name="hibernate.c3p0.timeout">5000</property>
<property name="hibernate.c3p0.max_statements">50</property>
<property name="hibernate.c3p0.acquire_increment">3</property>
<property name="hibernate.c3p0.validate">true</property>
<property name="hibernate.c3p0.idle_test_period">900</property> -->
<!-- Connection pool setting -->
似乎连接成功打开和关闭。如果10个用户同时访问该网站我的网站登录页面在5或10分钟后长时间旋转服务器下降。此外,我无法重启mysql服务器,它说进程意外终止。然后我必须再次安装mysql服务器。这发生在我的生产服务器中。我为这个问题丢失了很多真实的数据。
请一次有人建议我有效使用数据库连接,同时访问10000个用户。处理这种情况的最佳方法是什么。
答案 0 :(得分:0)
哎哟。构建一个测试服务器,运行一个负载测试器(JMeter就可以了)并复制问题 - 这样你就可以看到发生了什么,没有真正的数据存在风险。
目前您没有足够的信息来识别问题。
一旦您可以复制问题,请尝试更改JDBC驱动程序&amp;数据库版本和相关组件。但请确保您的更改将通过首先重新创建来解决问题。
另一件事可能是硬盘驱动器开始失败。如果不仅您的数据被损坏,而且您还必须重新安装软件..不常见,但要注意。
为什么重新启动/或(如果需要)重新安装MySQL,而不是将数据保留在数据库文件中?
答案 1 :(得分:0)
你的hibernate配置看起来是正确的,我认为这是导致这些问题的数据库。
无论遇到什么问题,它都不应该终止,因此它看起来像操作系统问题,例如: