---
title: 使用Sysbench测试MySQL时，服务端和客户端连接不对等的解决方法
description: "使用Sysbench测试MySQL，当压测的num-threads大于500时，可能会出现服务端和客户端的连接状态不对等的情况，服务端会有许多TIME_WAIT状态的进程。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdbs/troubleshooting/trouble/boostkit_database_troublecase_001.html
sourcePath: /source/zh/kunpengdbs/troubleshooting/trouble/boostkit_database_troublecase_001.html
indexId: 5b02ba63e8d262785e6dc591efe1f1db23479bf201085bc22a315997349cd4b584
---
# 使用Sysbench测试MySQL时，服务端和客户端连接不对等的解决方法

#### 问题现象描述

使用Sysbench测试MySQL，当压测的num-threads大于500时，可能会出现服务端和客户端的连接状态不对等的情况，服务端会有许多TIME_WAIT状态的进程。


#### 关键过程、根本原因分析

持续的高并发场景导致资源耗尽。


#### 结论、解决方案及效果

1. 修改MySQL配置中的最大连接数限制。修改配置文件“/etc/my.cnf”，在文件中的[mysqld]字段下增加如下信息：

```
max_connections=2000
```


2. 调整网络相关参数。

  a. 执行如下命令，修改所能接收SYN同步包的最大客户端数量。
    1 echo 8192 >/proc/sys/net/ipv4/tcp_max_syn_backlog

  b. 执行如下命令，修改服务端所能处理数据的最大客户端数量。
    1 echo 1024 >/proc/sys/net/core/somaxconn

3. 修改限制资源使用的配置文件“/etc/security/limits.conf”，配置用户可打开的最大文件数和最大进程数，将以下参数的值分别修改为65535。

```
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
```


4. 修改“/etc/security/limits.d/90-nproc.conf”文件，配置进程最大限制参数，将nproc参数的值设置为65535。

```
* soft nproc 65535
```


5. 重新执行Sysbench测试命令。
  1 ./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
