南飓风 发表于 2024-10-2 11:58:47

828华为云征文|使用sysbench对Flexus X实例对mysql进行性能测评

目录

一、Flexus X实例概述
1.1 Flexus X实例
1.2 在mysql方面的优势
二、在服务器上安装MySQL
2.1 在宝塔上安装docker
2.2 使用宝塔安装mysql
2.3 预备测试数据库和数据库表
三、安装sysbench并进行性能测试
3.1 使用yum命令sysbench
3.2 运行 sysbench 并进行性能测试
3.3 运行结果分析性能
SQL Statistics
General Statistics
Latency (延迟)
Threads Fairness
3.4 清理测试数据
3.5 总结

一、Flexus X实例概述

1.1 Flexus X实例

Flexus云服务器X实例是华为云推出的一款高性能、可扩展的虚拟服务器办理方案,专为满足企业和个人用户对高可靠性、机动性和强大计算能力的需求而设计。该实例不仅具备卓越的硬件性能,还深度集成了对MySQL等数据库的优化支持,为用户提供了卓越的数据库应用体验。官网如下:
Flexus云服务器X实例-华为云Flexus云服务器X实例(Flexus X)是柔性算力,六倍性能,旗舰体验,覆盖高科技、零售、金融、游戏等行业大多数通用工作负载场景。https://csdnimg.cn/release/blog_editor_html/release2.3.7/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=O83Ahttps://www.huaweicloud.com/product/flexus-x.html
https://i-blog.csdnimg.cn/direct/194ad738c320415bb1b2eb8703521cc7.png
1.2 在mysql方面的优势

在MySQL方面,根据Flexus X实例官网给出的介绍啊,总结了一下Flexus云服务器X实例应该提供了以下优势:

[*] 高性能加快:Flexus X实例引入了创新的X-Turbo加快技能,该技能可以或许智能辨认数据库应用场景,如MySQL,并针对其进行深度优化,最高可实现6倍于业界独享型实例产品的性能提升。这种加快技能可以或许显著提升MySQL数据库的响应速率和吞吐量,满足高并发、大数据量处理惩罚的需求。
[*] 机动的资源配比:Flexus X实例打破了传统云服务器CPU与内存配比的限制,提供了多种机动的配比选项,如1:3、2:5等,甚至可达3:1的CPU/内存比。这种机动性使得用户可以或许根据自身业务需求和MySQL数据库的性能要求,精准设置资源,实现本钱效益的最大化。
[*] 优化的操纵体系:Flexus X实例支持基于openEuler构建的Cloud EulerOS操纵体系,该操纵体系为MySQL等数据库应用提供了云原生、高性能的实行环境。在CPU、内存、网络、存储、内核等多个范畴以及MySQL应用自己进行针对性调优,以达到最优状态,从而提升MySQL数据库的整体性能。
[*] 便捷的管理和部署:Flexus云服务器X实例提供了丰富的管理工具和API接口,用户可以通过华为云控制台或API快速部署和管理MySQL数据库。同时,华为云还提供了丰富的文档和社区支持,帮助用户办理在使用过程中遇到的问题。
二、在服务器上安装MySQL

2.1 在宝塔上安装docker

之前,我们不是安装了宝塔面板吗,然后我们登录宝塔面板,然后在宝塔上安装docker试试看:
https://i-blog.csdnimg.cn/direct/beaa69d5df894992ab0c6863f24a0d1c.png
登录之后,点击右侧的docker以及立即安装。在弹出来的页面我们选择默认安装方式就行了,然后点击确定。
https://i-blog.csdnimg.cn/direct/38babba2a5344234842997679662b28a.png
不过背面提示鸿蒙镜像不支持默认安装,要换为二进制安装,如下图。
https://i-blog.csdnimg.cn/direct/77928773c182491699acfde4af274f47.png
然后我们返回图二,选择二进制文件安装即可,如下图,等候安装完成即可:
https://i-blog.csdnimg.cn/direct/1ce7c158bd8f4dd68af02d7303096389.png
然后出现如下图,就是登录乐成了,好喽,然后我们返回Flexus云服务器X实例控制台,这次我们去cloudshell使用docker hub安装mysql。
2.2 使用宝塔安装mysql

我们还是去宝塔面板直接搜刮安装吧,再右侧菜单栏点击docker,然后在上面点击线上镜像,然后就可以看得到我们的mysql,然后他这里提示也可以创建容器,不过我们还是先拉取到本地服务器上,然后再创建容器吧,然后点击拉取。
https://i-blog.csdnimg.cn/direct/509b6706f51845b9826ad007c0400685.png然后出现以下页面阐明正在拉取,我们先耐心等一下:
https://i-blog.csdnimg.cn/direct/517aebdd61714c25a15e443c862a49c7.png然后拉取乐成,我们就可以点击本地镜像,然后就可以看得到有一个mysql镜像,如下图:
https://i-blog.csdnimg.cn/direct/716b361418ff47c295ec5cda70550a90.png
然后我们点击最右侧的创建容器,由于他这个手动创建,没有设置mysql密码这个选择,因此我们选择命令创建,然后输入以下命令,这里我们创建mysql的密码就是666666了,
   docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=666666 -d mysql:latest
然后点击实行命令,好喽,这下我们就基于docker创建了我们自己的mysql服务了
https://i-blog.csdnimg.cn/direct/3bb63bd8319947c9bdf9a616c8f77aa8.png
然后点击上面的容器检察是否真的创建了容器并运行:
https://i-blog.csdnimg.cn/direct/86ec2bf515f542a28e55a03d98dc84b2.png
可以看得到我们的容器确实已经在运行了,然后我们使用navicat进行远程连接一下,输入我们的主机和连接密码,点击测试连接,是提示我们连接乐成的,然后我们点击确定,再点击下方简直定
https://i-blog.csdnimg.cn/direct/df98427774dd4c8596334c86237fec70.png
2.3 预备测试数据库和数据库表

接下来,我们需要预备一个测试数据库和测试表,可以参考下面命令
CREATE DATABASE sysbenchdb_test;

USE sysbenchdb_test;

CREATE TABLE sbtest (

    id INT AUTO_INCREMENT PRIMARY KEY,

    k INT,

    c VARCHAR(255),

    pad CHAR(60)

);
上面这段命令的意思是首先创建了一个名为 sysbenchdb_test 的数据库,然后切换到这个数据库,并在其中创建了一个名为 sbtest 的表。这个表有四个字段:id(自增主键),k(整数类型),c(可变长度的字符串,最大长度为255),以及pad(固定长度的字符串,长度为60)。这个表一般用于性能测试和基准测试,用于模仿和评估数据库在处理惩罚大量数据时的性能表现。
三、安装sysbench并进行性能测试

3.1 使用yum命令sysbench

接下来,我们这下是要去cloudshell使用yum安装sysbench了。好,然后我们进入到Flexus云服务器X实例控制台,点击右侧的远程登录,然后从弹出来的窗口再选择cloudshell登录:
https://i-blog.csdnimg.cn/direct/39b3eb506f39449a84533240a2d4369f.png
然后我们输入服务器密码,点击连接:
https://i-blog.csdnimg.cn/direct/d95d993f6a464cfaabd7cb2d82dfbb37.png
登录乐成之后使用下面命令安装sysbench
   yum install sysbench
OK,出现下面的页面就阐明以及安装乐成了,接下来我们进行测试 
https://i-blog.csdnimg.cn/direct/6e3c77173f1e480c87b4b644b01d98d3.png
3.2 运行 sysbench 并进行性能测试

接下来我们输入以下命令:
   sysbench oltp_read_write --db-driver=mysql --mysql-host=主机ip --mysql-user=username --mysql-password=password --mysql-db=sysbenchdb_test --tables=1 --table-size=1000000 prepare
这个命令的意思就是利用sysbench 工具远程连接你的mysql主机服务器,然后往sysbenchdb_test 数据库里面,新增一个表并且插入一百万条数据,用于后续的性能测试当作预备数据。我们可以模仿真实负载条件,对数据库性能进行评估,以确保它在处理惩罚大量读写操纵时的表现。这有助于验证数据库的稳定性和性能,以满足实际应用程序的需求。 
https://i-blog.csdnimg.cn/direct/4eb8283b6e50402985dcff502a7145b5.png
输入如下阐明我们的测试数据以及预备好了。接下来我们在实行一条测试读写性能的命令:
   sysbench oltp_read_write --db-driver=mysql --mysql-host=主机ip --mysql-user=username --mysql-password=password --mysql-db=sysbenchdb_test --tables=1 --table-size=1000000 --threads=10 --time=30 run
下面是对于各个参数的解析: 


[*] sysbench oltp_read_write: 这是指定使用 sysbench 的 oltp_read_write 测试场景。这个场景模仿了常见的 OLTP 负载,包罗读取和写入操纵。
[*] --db-driver=mysql: 指定数据库驱动为 MySQL。这意味着 sysbench 将使用 MySQL 客户端库来连接和实行测试。
[*] --mysql-host=主机ip: 这里 主机ip 需要更换为你的 MySQL 数据库服务器的实际 IP 地点或主机名。这是数据库服务器地点的位置。
[*] --mysql-user=username: 指定用于连接 MySQL 数据库的用户名。你需要更换 username 为实际的数据库用户名。
[*] --mysql-password=password: 指定用于连接 MySQL 数据库的密码。出于安全思量,不推荐在命令行中直接显示密码,尽管这里为了阐明而如许做了。
[*] --mysql-db=sysbenchdb_test: 指定要测试的数据库名称。这里假设你已经有了一个名为 sysbenchdb_test 的数据库,假如没有,你需要先创建它。
[*] --tables=1: 指定要创建和测试的表的数目。在这个例子中,我们仅测试一个表。
[*] --table-size=1000000: 指定每个表中的数据行数。这里设置为 1000000 行,即每个表包含一百万行数据。
[*] --threads=10: 指定并发实行的线程数。在这个例子中,我们将使用 10 个线程来模仿并发访问。
[*] --time=30: 指定测试的总时间(以秒为单元)。在这个例子中,测试将运行 30 秒。
[*] run: 告诉 sysbench 实行上述设置的测试。
实行这个命令后,sysbench 将连接到指定的 MySQL 数据库,创建一个包含一百万行数据的表,然后使用 10 个线程运行 30 秒的 OLTP 读写测试。测试完成后,它将输出测试结果,包罗每秒的查询数(QPS)、事件数(TPS)以及其他性能指标,有了这些指标,我们就可以大概评估数据库的性能是怎么样的了。
3.3 运行结果分析性能

OK,让我们等候30秒之后得到如下的输出: 
原文版
https://i-blog.csdnimg.cn/direct/d860af33994142ae907625bcb33988c0.png
中文版:
https://i-blog.csdnimg.cn/direct/38f0cea9bc544390aae197afefdd1f2b.png
解释如下:
SQL Statistics



[*]查询实行:

[*]读取:577,906次 - 进行了大量的读取操纵,表明体系大概重要用于数据检索。
[*]写入:165,116次 - 写入操纵相对较少,但仍然是体系性能的一个重要构成部分。
[*]其他:82,558次 - 包罗了一些非读写操纵,如存储过程调用、数据界说语言(DDL)操纵等。
[*]总计:825,580次 - 总的SQL操纵次数,反映了体系的整体运动程度。

[*]事件和查询速率:

[*]事件:41,279个,均匀每秒1,375.59个 - 事件处理惩罚速率较高,表明体系可以或许处理惩罚大量的并发事件。
[*]查询:825,580个,均匀每秒27,511.81个 - 查询处理惩罚速率也非常高,显示出体系对查询的响应能力很强。

[*]错误和重连:

[*]忽略的错误:0个 - 没有忽略任何错误,表明测试过程中没有遇到导致操纵失败的问题。
[*]重连:0次 - 没有发生重连,阐明数据库连接稳定。

General Statistics



[*]总时间:30.0068秒 - 测试运行的总时间,表明测试是在相对较短的时间内完成的。
[*]事件总数:41,279个 - 与事件数相同,由于每个事件大概被视为一个事件。
Latency (延迟)



[*]最小延迟:3.45毫秒 - 最低的事件或查询处理惩罚时间,表明体系在某些情况下可以或许非常快速地响应。
[*]均匀延迟:7.27毫秒 - 均匀每个事件或查询的处理惩罚时间,这是一个相称低的值,表明体系整体性能精良。
[*]最大延迟:19.25毫秒 - 最长的事件或查询处理惩罚时间,虽然比均匀值高,但仍然在可接受的范围内。
[*]95th percentile:9.73毫秒 - 95%的事件或查询在9.73毫秒内完成,这是一个重要的性能指标,由于它提供了关于体系响应时间的可靠估计。
[*]总延迟:299,975.09毫秒 - 所有事件或查询的总处理惩罚时间。
Threads Fairness



[*]事件分配:均匀每个线程处理惩罚了4,127.9个事件,标准差为30.57。这表明线程间的事件处理惩罚非常平衡,标准差较小,阐明没有线程过载或空闲。
[*]实行时间:均匀每个线程的实行时间为29.9975秒,标准差几乎为0。这进一步证实了线程间的负载分配非常均匀,且实行时间非常靠近。
3.4 清理测试数据

测试完之后别忘记清理数据了,不然放这么多数据在服务器是很影响性能的。命令如下:
   sysbench --test=oltp --mysql-host=localhost --mysql-user=root --mysql-db=sysbenchdb_test \ --oltp-table-size=1000000 --oltp-tables-count=10 --mysql-password=yourpassword cleanup
清理测试数据也可以包管环境数据的一致性以及对于下次测试的时间不会产生别的影响。 
3.5 总结

通过以上数据我们大概可以知道数据库体系在处理惩罚大量并发事件和查询时表现出色,具有低延迟和高吞吐量的特点。线程间的负载分配非常平衡,没有出现显着的瓶颈或性能降落。阐明白这个Flexus云服务器X实例确实非常出色,算力以及性能在X-Turbo加快下也是遥遥领先。就一个词语形容:遥遥领先!
综上所述,Flexus云服务器X实例依附其高性能加快、机动的资源配比、优化的操纵体系以及便捷的管理和部署等优势,都可以成为企业和个人用户部署MySQL数据库的理想选择。无论是处理惩罚大规模数据存储和查询,还是应对高并发、大数据量处理惩罚的场景,Flexus X实例都可以或许提供稳定、高效的支持。在828企业节,我强烈推荐Flexus云服务器X实例。作为专为中小企业和开辟者打造的柔性算力云服务器,Flexus X实例依附智能预画像迁移降本、动态性能优化及柔性算力技能,极大降低了上云本钱。其机动的资源设置和强大的扩展能力,能满足电商直播、企业建站、开辟测试等多种场景需求。此外,Flexus X实例的卓越性能和稳定服务,为企业数字化转型提供了可靠保障。在828企业节,华为云还推出了超值特惠,把握此刻,助您企业腾飞,开启高速发展之路!
https://i-blog.csdnimg.cn/direct/6d755a84373542d6a869ce7be892f332.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 828华为云征文|使用sysbench对Flexus X实例对mysql进行性能测评