使用Sysbench测试MySQL,当压测的num-threads大于500时,可能会出现服务端和客户端的连接状态不对等的情况,服务端会有许多TIME_WAIT状态的进程。
持续的高并发场景导致资源耗尽。
max_connections=2000
echo 8192 >/proc/sys/net/ipv4/tcp_max_syn_backlog
echo 1024 >/proc/sys/net/core/somaxconn
* soft nofile 65535 * hard nofile 65535 * soft nproc 65535 * hard nproc 65535
* soft nproc 65535
./src/sysbench --num-threads=500 --test=./tests/include/oltp_legacy/update_non_index.lua --oltp-table-size=2180000 --oltp-tables-count=10 --percentile=99 --report-interval=1 --mysql-host=172.253.33.194 --mysql-user=szjr --mysql-password=szjr --mysql-port=3306 --mysql-db=summertest --max-time=300 --max-requests=0 run