CommunicationsException

2021/8/7 23:09:34

本文主要是介绍CommunicationsException,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

原因:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障


我将mysql max_conncetions设置为1000,“ SHOW PROCESSLIST ”查询向我显示了许多休眠进程。这些是闲置的吗? 

 

EDIT:

Setup Mysql (localhost):

[mysqld]

user=mysql

port=3306

socket =/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock

key_buffer=16M

max_allowed_packet=1M

table_open_cache=64

sort_buffer_size=512K

net_buffer_length=8K

read_buffer_size=256K

read_rnd_buffer_size=512K

myisam_sort_buffer_size=8M

max_connections = 1000

wait_timeout = 28800

interactive_timeout = 28800

 

HikariCP: HikariCP-java6-2.2.5.jar

MySQL Connector: mysql-connector-java-5.1.25-bin.jar

解决方案

 

两件事。首先,HikariCP、Java和MySQL驱动程序的版本是什么?
第二,一个池中有400个连接?太多了!在每个池中从10到20开始。你会惊讶于每秒可以处理几千个事务。
第三,这是常见问题解答中的第二个问题。阅读答案和链接。您需要将maxLifetime设置为比MySQL本机超时短(1分钟)。
最后,打开调试日志记录,HikariCP没有噪音。每30秒,内务处理线程就会运行并记录池统计信息。

 

 

Couple of things. First, What version of HikariCP, Java, and the MySQL driver?

Second, 400 connections in one pool? Way too many! Start with 10 to 20, in each pool. You'll be surprised that you can handle a few thousand transactions per second.

Third, this is the second question in the FAQ. Read the answer and the link. You need to set maxLifetime to something shorter (by 1 minute) than your MySQL native timeout.

Lastly, turn on DEBUG logging, HikariCP is not noisy. Every 30 seconds, the housekeeping thread runs and logs pool statistics.



这篇关于CommunicationsException的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程