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

猜你喜欢

转载自www.cnblogs.com/royfans/p/11329085.html