mysqlslap

微盟数据库的涅槃之旅

百般思念 提交于 2021-02-02 13:54:40
作者:余成真,微盟DBA负责人 首发:「老叶茶馆」微信公众号 1. 背景介绍 在经历了惨痛的黑天鹅事件以及激烈的数据恢复过程后,作为微盟 DBA的我们进行了深刻的反省和自查,作为公司的核心资产,数据库也得到了前所未有的重视。如何保证数据安全以及用户服务的高可用性是我们必须要解决的首要问题。在经过对腾讯数据库深入分析以及业务调研的的基础上,我们选择了腾讯云数据库。通过借助腾讯云 CDB(TencentDB For MySQL)的数据库高可用、备份、恢复、审计、安全等体系,来提升微盟数据库的性能、稳定性与数据安全,满足业务发展的需求,所以我们逐步放弃自建数据库服务,迁移到腾讯云数据库〜 在云上迎接重生的微盟,成为微盟 DBA团队核心工作目标。 本文准备就微盟 MySQL数据库迁移CDB,从CDB性能上展开较为深入的分析与讨论,通过系统化的测试方案,将黑石限核与CDB各优化状态的数据进行比对,分析上云CDB后会有什么样的使用风险?各并发场景下的性能差异,产生差异的原因,解决过程及解决方案进行了详细的分析。 2. 产品选择 配置:上海四区 16C64G(腾讯云数据库CDB) 为更贴近生产环境数据库使用场景, DB团队以微盟线上数据为样本,构建基准测试表及数据进行基准压测;收集线上27套实例的业务SQL进行业务压测。 测试方案: 对照组:黑石不限 CPU(56核)32G——QPS值

MySQL常用配置和性能压力测试:MySQL系列之十五

橙三吉。 提交于 2020-12-04 02:01:42
一、MySQL常用配置 以下所有配置参数以32G内存的服务器为基 1、打开独立的表空间 innodb_file_per_table = 1 2、MySQL服务所允许的同时会话数的上限,默认为151,经常出现Too Many Connections的错误提示,则需要增大此值 max_connections = 8000 3、操作系统在监听队列中所能保持的连接数 back_log = 300 4、每个客户端连接最大的错误允许数量,当超过该次数,MYSQL服务器将禁止此主机的连接请求,直到MYSQL服务器重启或通过flush hosts命令清空此主机的相关信息 max_connect_errors = 1000 5、所有线程所打开表的数量 open_files_limit = 10240 6、每个连接传输数据大小,最大1G,须是1024的倍数,一般设为最大的BLOB的值 max_allowed_packet = 32M 7、请求的最大连接时间 wait_timeout = 10 8、排序缓冲被用来处理类似ORDER BY以及GROUP BY队列所引起的排序 sort_buffer_size = 16M 9、不带索引的全表扫描,使用的buffer的最小值 join_buffer_size = 16M 10、查询缓冲大小 query_cache_size = 128M 11

Mysql基准测试

断了今生、忘了曾经 提交于 2020-11-23 23:46:01
一、基准测试 基准测试的作用: 了解当前系统的性能,建立MySQL服务器性能基准线(为之后的性能优化提供一个超始线) 模拟比当前系统更高的负载,找出系统的扩展瓶颈,为系统扩展与优化提供参考条件 测试不同的硬件、软件和操作系统配置 证明新的硬件设备是否配置正确和是否是最优配置 基准测试可以分为集成式测试和单组件式测试。 集成式测试就是对整个应用系统进行测试,如一个网站应用系统,对整个网站系统进行测试。 单组件式测试是对系统中的某个组件进行测试,如对网站中的数据库这个组件进行测试,或对web服务器这个组件进行测试等。 (一)、集成式测试工具 有http_load,ab,jMeter,wrk等 1、ab的使用 ab即apache bench,是apache httpd包含的一个http压测工具 (1)ab的安装 安装apache httpd即可(详细安装教程请参照: Linux下安装apache httpd及httpd常见用法 (2)ab的常用用法 ab [options] url options表示参数 -n:请求数 -c:并发数(请求人数) -s:超时时间 url表示压力测试的地址 如: 1 ab -n 2000 -c 10000 http: //localhost/hello .php 结果如下: 2、wrk的使用 wrk是一款简单的http压测工具,安装和使用都比较简单(推荐使用

MySQL 压测

谁说胖子不能爱 提交于 2020-08-12 00:58:37
https://mp.weixin.qq.com/s/vKJZp5cGUetHokGh2EZUXg mysqlslap --iterations=100 --create-schema='test' --query="query.sql" --number-of-queries=20000 --delimiter=";" --concurrency=100 3.2.2 网络参数问题 问题描述 使用 mysqlslap 压测某个语句,当并发数提升到200或400时,CDB性能下降,不符合业务预期。 排查过程 这里只和高并发有关,CDB团队首先想到的是MySQL是否开启了thread pool功能,对于CDB和自建均未开启thread pool功能,而在CDB上打开了thread pool功能后问题仍然存在。而且在本地和远程压测都存在同样问题,这也排除了网络的因素。 有一个细节是CDB团队观察到压测过程中数据库的连接数并不稳定,忽上忽下,就开始怀疑是mysqlslap压测工具的问题。于是CDB团队开始查看mysqlslap源码, 确认mysqlslap用的是否是短连接。然而mysqlslap用的是长连接,并不是短连接。但有一种情况,当mysqlslap执行完一轮(number_of_querys)语句后会新建连接。当压测参数iterations设置较大,number_of

MySQL 压力测试工具

早过忘川 提交于 2020-07-26 03:38:55
一、MySQL自带的压力测试工具——Mysqlslap mysqlslap是mysql自带的基准测试工具,该工具查询数据,语法简单,灵活容易使用.该工具可以模拟多个客户端同时并发的向服务器发出查询更新,给出了性能测试数据而且提供了多种引擎的性能比较。mysqlslap为mysql性能优化前后提供了直观的验证依据,系统运维和DBA人员应该掌握一些常见的压力测试工具,才能准确的掌握线上数据库支撑的用户流量上限及其抗压性等问题。 1、更改其默认的最大连接数 在对MySQL进行压力测试之前,需要更改其默认的最大连接数,如下: [root@mysql ~]# vim /etc/my.cnf ................ [mysqld] max_connections=1024 [root@mysql ~]# systemctl restart mysqld #查看最大连接数 mysql> show variables like 'max_connections'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 1024 | +-----------------+-------+ 1 row in set (0.00 sec)