首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【玩转腾讯】数据库压力测试方法总结

一、前言 在前面的压力测试过程中,主要关注的是对接口以及服务器硬件性能进行压力测试,评估请求接口和硬件性能对服务的影响。但是对于多数Web应用来说,整个系统的瓶颈在于数据库。...而对于MySQL,由于数据一致性的要求,无法通过增加机器来分散向数据库写数据带来的压力;虽然可以通过前置缓存(Redis等)、读写分离、分库分表来减轻压力,但是与系统其它组件的水平扩展相比,受到了太多的限制...三、使用sysbench进行数据库压测 1、基本介绍 sysbench是跨平台的基准测试工具,支持多线程,支持多种数据库;主要包括以下几种测试: cpu性能 磁盘io性能 调度程序性能...: 首先需要在自己的数据库里创建好一个测试库,我们可以取个名字叫做 test,同时创建好对应的测试账号,可以叫做 root,密码是 123456,让这个用户有权限可以访问 test。...--db-ps-mode=disable run (3)测试数据库的写入性能,使用的是 oltp_write_only 模式: sysbench --db-driver=mysql --time=300

1.6K10

压力测试 tpcc-mysql

来源:领测软件测试网   TPCC-MYSQL是由percona发布一个用来测试数据库的压力工具,模拟一个电商的业务,   主要的业务有新增订单,库存查询,发货,支付等模块的测试   1.下载   2....  tpcc_start 进行压力测试   [root@mysql-centos6 src]# make   cc -w -O2 -g -I....这个socket位置,如果你的测试环境的mysql socket不在相应路径的话,就需要做个软连接,或者通过TCP/IP的方式连接测试服务器。   ...ln -s /var/run/mysqld/mysql.sock /var/lib/mysql/mysql.sock   3.创建数据库和表结构   # 创建测试用的数据库   [root@mysql-centos6...  # 创建测试用的表   [root@mysql-centos6 tpcc-mysql]# mysql -uroot -p123123 -h127.0.0.1 -P3306 -S /var/run/

1.6K20
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL】mysqlslap 对 MySQL 进行压力测试

mysqlslap 是 mysql 自带的压测工具,可以模拟多个客户端同时向服务器发起请求。 命令选项: --concurrency 并发数量,多个用 , 隔开。...--engines 要测试的引擎,多个用 , 隔开。 --iterations 测试次数。 --auto-generate-sql 用系统自己生成的 SQL 脚本来测试。...--number-int-cols 测试表 int 型字段数量。 --number-char-cols 测试表 char 型字段数量。 --create-schema 测试的 db。...单机读并发测试 这里用的是本机基于 WSL2 的 Docker 中的 MySQL 服务器,因此性能会相比主机运行 MySQL 要差些。...最大连接数由 max_connections 设置,最大为 16384,因此单机 MySQL 最大并发数是 16384,但应该需要根据操作系统提供的资源而定。

2.2K20

使用sysbench对MySQL压力测试

它主要包括以下几种方式的测试: cpu性能 磁盘io性能 调度程序性能 内存分配及传输速度 POSIX线程性能 数据库性能(OLTP基准测试) sysbench的数据库OLTP测试支持MySQL、PostgreSQL...:对mysql进行oltp基准测试,表数量10,每表行数约50w(几乎delete多少就会insert的多少),并且是非事务的只读测试,持续60s,并发线程数12。...需要说明的选项: mysql-db=dbtest1a:测试使用的目标数据库,这个库名要事先创建 --oltp-tables-count=10:产生表的数量 --oltp-table-size=500000...--max-requests=0:压力测试产生请求的总数,如果以下面的max-time来记,这个值设为0 --max-time=120:压力测试的持续时间,这里是2分钟。...另外需要注意的是,大部分mysql中间件对事务的处理,默认都是把sql发到主库执行,所以只读测试需要加上oltp-skip-trx=on来跳过测试中的显式事务。

1.1K10

使用sysbench压力测试MySQL(二)

我接下来做sysbench压测的主要思路是根据现有的配置作出调整,能够持续性的优化和压力测试达到目的,而不是简单的去对比连接数在不同数量级会有多大的差别,所以你会在里面看到一些问题的排查,一些问题的解决...* soft nproc 65535 修改后重启MySQL服务即可生效,再次开启测试就没有问题了,说明这个地方的错误和参数nproc还是有密切的关系,但是open files...压力测试的过程中生成了大量的binlog,而对于InnoDB而言,我们需要明确在IO上的几点可能,一个是刷数据的效率,一个是redo的大小,还有一些已有的优化方式改进。我们来简单说一下。..../ | | innodb_log_write_ahead_size | 8192 | +-----------------------------+----------+ 在这个压力测试中...----+ | 78511054 | +-------------------------+ redo文件设置为多大,其实没有一个绝对的概念,在Percona的建议中,在压力测试中可以设置为

3.7K90

MySQL压力测试最佳实践(1616)

MySQL压力测试 基本概述 sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。.../sysbench --version 压力测试 提前在数据库上创建好sbtest数据库。 创建一张500w的记录表。...Sysbench中常用的参数如下: --mysql-table-engine=innodb 表示选择测试表的存储引擎 --oltp_tables_count=10 表示会生成 10 个测试表 --oltp-table-size...=100000 表示每个测试表填充数据量为 100000 --rand-init=on 表示每个测试表都是用随机数据来填充的 如果在本机,也可以使用 –mysql-socket 指定 socket 文件来连接...-- 内容引用自博客 https://blog.51cto.com/u_13874232/5582905 使用4线程(–num-threads=4)进行压力测试测试60s(–max-time=60),

9910

MySQL字符函数的压力测试

MySQL中的字符串处理函数非常多,以至于我在整理的这部分内容的时候也眼前一亮,有一种进了大观园的感觉,哦,原来有这个函数,哦,竟然可以这样实现,以前怎么没想到,等等。...我觉得可以通过两种测试方式来得到一个初步的结论,第一个是高并发下多线程调用的性能情况,第二个是单线程执行的性能情况。如果在对比测试中高出一筹,还有什么理由不去推荐呢。...要实现这两个功能,MySQL缺失提供了这样的工具集,第一个是并发执行的性能情况,可以使用MySQL自带的mysqlslap来测试。...而第二个单线程的压测,则可以使用MySQL非常有特色的函数benchmark来实现。 如果使用myslap来压测,使用mysqlslap的语句类似下面的形式。...通过这种方式得到的测试结果相对来说更有意义一些。 我们调大调用的频次为100万次,使用并发50和100来做测试

1.2K50

mysql如何进行压力测试

一、介绍 SysBench 是一款开源的、跨平台的、模块化的、多线程的性能测试工具, 可以执行 CPU/内存/线程/IO/数据库 等方面的性能测试 二、安装 sysbench yum -y install...sysbench 安装完sysbench后,/usr/share/sysbench下对数据库压力测试的lua文件 lua脚本说明 1、 bulk_insert.lua 批量写入操作 2、 oltp_common.lua...Number of rows per table [10000] --tables=N Number of tables [1] 三、数据库压力测试通常三个阶段...,准备数据、压测数据、清理数据 第一阶段数据准备 mysql -uroot -p123 -e "create database sbtest;" -- 创建测试数据库 sysbench /usr/...=10 --non_index_updates=10 --report-interval=10 --threads=4 --time=60 run 第三阶段删除测试数据 sysbench /usr

1.5K20

MySQL压力测试工具

一、MySQL自带的压力测试工具——Mysqlslap mysqlslap是mysql自带的基准测试工具,该工具查询数据,语法简单,灵活容易使用.该工具可以模拟多个客户端同时并发的向服务器发出查询更新,...mysqlslap为mysql性能优化前后提供了直观的验证依据,系统运维和DBA人员应该掌握一些常见的压力测试工具,才能准确的掌握线上数据库支撑的用户流量上限及其抗压性等问题。...1、更改其默认的最大连接数 在对MySQL进行压力测试之前,需要更改其默认的最大连接数,如下: [root@mysql ~]# vim /etc/my.cnf ...................可以根据实际需求,一点点的加大并发数量进行压力测试。...二、使用第三方sysbench工具进行压力测试 1、安装sysbench工具 [root@mysql ~]# yum -y install epel-release #安装第三方epel源 [root

3.8K21

腾讯WeTest压力测试—预约进行时

3.收集和分析数据:随着测试工作的进行,如何系统性的收集数据用以分析是测试环节的重点。单纯靠少量的测试人员能收集到的问题可能游戏性能问题中的沧海一粟。 腾讯WeTest压力测试的优势: 1. ...完整且精确的数据输出,如PCU,性能瓶颈可定位到函数级别; 我们通过通过用虚拟机器人模拟真实用户,控制程序管理机器人行为,即可满足多人实时对战的游戏场景,可以完成万人以上的用户模拟测试,连续24小时保持一定量级的压力...腾讯WeTest拥有10年腾讯游戏压测经验,数百款游戏成功案例,领先业界的压测服务可以让您不再受限于开发周期短以及人力的问题,杜绝潜伏的问题遗漏到线上。 ? 成功案例:《天天酷跑》 ?...腾讯WeTest压力测试预约自今年从开放以来,帮众多游戏厂商解决游戏性能问题,倍受好评,取得单月预约量破千的傲人成绩。专业的性能测试专家能为您分析多个层级维度的性能问题,让游戏更胜一筹。...腾讯WeTest官网: http://wetest.qq.com/ 腾讯WeTest是腾讯游戏官方推出的一站式游戏测试平台,与全民突击、天天酷跑、全民超神等精品手游强强联手深入合作,十余年来不断为游戏提供优秀测试方案和测试工具

83120

使用JMeter进行MySQL压力测试

导入MySQL驱动 3....其他使用小技巧 对查询结果进行简单处理 混合场景设置 总结 ---- 前言 JMeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单...JMeter可以做接口测试压力测试,其中接口测试的简单操作包括做 http 脚本(发 get/post 请求、加 cookie、加 header、加权限认证、上传文件)、做webservice脚本、参数化...导入MySQL驱动 在MySQL官网(https://downloads.mysql.com/archives/c-j/)找到对应版本的MySQL驱动进行下载,并将其拷贝到%JMETER_HOME%\lib...全部配置好,就可以点击菜单栏的"启动"开启测试,一般在压力较大的情况下,不建议使用GUI进行操作,可通过JMeter的命令行直接执行测试。 4.

1.4K30

使用sysbench对MySQL进行压力测试

例如,可以用来测试文件IO,操作系统调度器,内存分配和传输速度,POSIX线程以及数据库服务器等。sysbench支持Lua脚本语言,Lua对各种测试场景的设置可以非常灵活。...sysbench支持MySQL,操作系统和硬件的测试。...=$DBIP \  --mysql-port=$DBPORT \  --mysql-user=$DBUSER \  --mysql-password=$DBPASSWD \  --mysql-db=$DBNAME...的客户机和MySQL DB服务器尽量不要在同一台主机上,也包括一台宿主机上启动两个虚机的情形; ## 2、测试表的数量不宜太少,至少要求20个表以上; ## 3、每个表的数据量不宜太少,通常至少要求1千万以上...## 6、测试DB服务器要是专用的,不能和其他业务混跑,否则测试结果就不靠谱了; ## 7、其余未尽事宜,后续再行补充。

2.6K30

Mysql专栏 - 线上调优与压力测试

Mysql专栏 - 线上调优与压力测试 前言 本节内容讲述线上的调优手段以及压力测试的相关工具,结合一些实际的命令参数,我们将会介绍运行结果的具体含义。...概述 介绍常见的mysql系统性能分析指标,介绍吞吐量和机器的选择 压力测试工具的介绍,以及数据库压力测试的实战。...数据库压力测试 有了数据库之后,第一件事就是做压力测试: 什么是qps,什么是tps?...❞ 压力测试工具介绍 使用压力测试的工具是:「sysbench」工具 安装教程: 安装教程如下: curl -s https://packagecloud.io/install/repositories...,而是要根据压力测试对于数据库进行实际的压测之后,通过增加压力的方式找到mysql服务器的压力极限,最后通过两个思考题我们可以看到衡量一个mysql的性能需要从多方面考虑,哪怕是理想情况下能够处理的请求其实也不是很多

2.1K20
领券