mysqlslap压力测试时出现"Can't connect to MySQL server"

mysqlslap -utest -h 192.168.1.12 -p'test' --concurrency=100 --iterations=500 --create-schema='my_db'

 

结果压了10来秒,就频繁报告

mysqlslap: Error when connecting to server: 2003 Can't connect to MySQL server

 

这时用netstat -tnp查看tcp连接,发现有2万多的tcp连接,全部停留在time_wait状态。怀疑是端口用尽了。网上查了一下资料,发现一篇文章提供的信息很有用

http://blog.csdn.net/fanyun7654/article/details/20725783

 

程序可用的端口范围,是一个内核参数

shell> sysctl -a | grep port

net.ipv4.ip_local_port_range = 32768 61000

 

解决的办法

一、加大端口范围,不过作用有限

shell> echo "net.ipv4.ip_local_port_range = 10240 61000" >> /etc/sysctl.conf

shell> sysctl -p

 

二、允许端口重用

sysctl net.ipv4.tcp_tw_reuse=1

或者

net.ipv4.tcp_tw_reuse=1 写入 /etc/sysctl.conf

 

转:http://yeyingxian.lofter.com/post/1cc6ccfe_65f74af

posted @ 2019-08-09 18:56  RoyFans  阅读(773)  评论(0编辑  收藏  举报