当前位置: 首页> 汽车> 时评 > 长沙本地推广联系电话_泰州市建设工程招标网_百度手机助手_文案代写收费标准

长沙本地推广联系电话_泰州市建设工程招标网_百度手机助手_文案代写收费标准

时间:2025/7/10 8:05:44来源:https://blog.csdn.net/Lin_Miao_09/article/details/145743618 浏览次数: 0次
长沙本地推广联系电话_泰州市建设工程招标网_百度手机助手_文案代写收费标准

目录

一、MySQL数据库可以抗多少并发

二、数据库压测前置知识

三、压测工具-sysbench

安装

基于 Ubuntu/Debian 系统

基于 CentOS/RHEL 系统

从源码安装

使用(不只支持数据库压测)

系统性能测试

CPU 性能测试

内存性能测试

线程性能测试

数据库性能测试(以 MySQL 为例)

准备测试数据

运行测试

清理测试数据


一、MySQL数据库可以抗多少并发

一般情况下各配置下的数据库可以抗多少并发(仅供参考),具体还需要通过压测得到,相同的配置,可能也是有所不同,各个服务器性能差异大。

建议配置(8核16G以上,实际线上使用一定要直接安装MySQL,不能使用docker容器部署)

数据库配置

QPS

8核16G

1000 ~ 2000

16核32G

2000 ~ 4000

二、数据库压测前置知识

QPS一次请求就是一条SQL语句,也就是说这个数据库每秒可以处理多少个SQL语句

TPS每秒会处理多少次事务提交或者回滚

IOPS:每秒可以执行多少个随机IO读写请求

吞吐量每秒可以读写多少字节的数据量

latency:往磁盘里写入一条数据的延迟

还有服务器的指标,也是决定数据库并发能力的重要因素。

CPU负载、网络负载、内存负载。

三、压测工具-sysbench

安装

基于 Ubuntu/Debian 系统

可以使用 apt 包管理器来安装 sysbench,具体步骤如下:

# 更新系统软件包列表
sudo apt update
# 安装 sysbench
sudo apt install sysbench

基于 CentOS/RHEL 系统

使用 yum(CentOS 8 及以上版本)来安装 sysbench,步骤如下:

# 安装 EPEL 存储库(如果尚未安装)
sudo yum install epel-release
# 安装 sysbench
sudo yum install sysbench

从源码安装

如果你需要使用最新版本的 sysbench,可以从源码进行安装,步骤如下:

# 安装必要的依赖
sudo apt-get install build-essential libtool automake libmysqlclient-dev libssl-dev libpq-dev# 克隆 sysbench 仓库
git clone https://github.com/akopytov/sysbench.git
cd sysbench# 配置、编译和安装
./autogen.sh
./configure
make -j
sudo make install

使用(不只支持数据库压测)

系统性能测试

以下是几个常见的 sysbench 测试场景示例:

CPU 性能测试

# 运行 30 秒的 CPU 性能测试
sysbench cpu --cpu-max-prime=20000 --time=30 run
  • --cpu-max-prime:指定生成素数的最大值。

  • --time:指定测试运行的时间(秒)

内存性能测试

# 进行内存读写性能测试
sysbench memory --memory-block-size=1K --memory-total-size=100G run
  • --memory-block-size:指定内存块的大小。

  • --memory-total-size:指定要传输的总内存大小。

线程性能测试

  • --thread-locks:指定每个线程持有的锁的数量。

数据库性能测试(以 MySQL 为例)

准备测试数据
# 创建测试数据库
mysql -u root -p -e "CREATE DATABASE sysbench_test;"# 准备测试数据
sysbench /usr/share/sysbench/oltp_read_write.lua \--mysql-host=127.0.0.1 \--mysql-port=3306 \--mysql-user=root \--mysql-password=your_password \--mysql-db=sysbench_test \--tables=10 \--table-size=100000 \prepare
  • --tables:指定测试表的数量。

  • --table-size:指定每个表的行数。

运行测试
sysbench /usr/share/sysbench/oltp_read_write.lua \--mysql-host=127.0.0.1 \--mysql-port=3306 \--mysql-user=root \--mysql-password=your_password \--mysql-db=sysbench_test \--tables=10 \--table-size=100000 \--threads=16 \--time=60 \run
  • --threads:指定并发线程的数量。

  • --time:指定测试运行的时间(秒)。

清理测试数据
sysbench /usr/share/sysbench/oltp_read_write.lua \--mysql-host=127.0.0.1 \--mysql-port=3306 \--mysql-user=root \--mysql-password=your_password \--mysql-db=sysbench_test \--tables=10 \--table-size=100000 \cleanup

测试数据库的综合读写TPS,使用的是oltp read write模式

例子:

sysbench --db-driver=mysql --time=300--threads=10--report-interval=1 --mysql-host=127.0.0.1--mysql-port=3306-- mysql-user=test_user--mysql-password=test user--mysql-db=test db--tables=20--table size=1000000 oltp read write --db-ps-mode=disable run

测试数据库的只读性能,使用的是oltp read only模式

测试数据库的删除性能,使用的是oltp delete模式

测试数据库的更新索引字段的性能,使用的是oltp_update_index模式

测试数据库的更新非索字段的性能,使用的是oltp_update_non_index模式

测试数据库的插入性能,使用的是oltp insert模式

测试数据库的写入性能,使用的是oltp write only模式

关键字:长沙本地推广联系电话_泰州市建设工程招标网_百度手机助手_文案代写收费标准

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: