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

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://www.huaweicloud.com/product/flexus-x.html

1.2 在mysql方面的优势

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

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

二、在服务器上安装MySQL

2.1 在宝塔上安装docker

之前,我们不是安装了宝塔面板吗,然后我们登录宝塔面板,然后在宝塔上安装docker试试看:

登录之后,点击右侧的docker以及立即安装。在弹出来的页面我们选择默认安装方式就行了,然后点击确定。

不过后面提示鸿蒙镜像不支持默认安装,要换为二进制安装,如下图。

然后我们返回图二,选择二进制文件安装即可,如下图,等待安装完成即可:

然后出现如下图,就是登录成功了,好喽,然后我们返回Flexus云服务器X实例控制台,这次我们去cloudshell使用docker hub安装mysql。

2.2 使用宝塔安装mysql

我们还是去宝塔面板直接搜索安装吧,再右侧菜单栏点击docker,然后在上面点击线上镜像,然后就可以看得到我们的mysql,然后他这里提示也可以创建容器,不过我们还是先拉取到本地服务器上,然后再创建容器吧,然后点击拉取。

然后出现以下页面说明正在拉取,我们先耐心等一下:

然后拉取成功,我们就可以点击本地镜像,然后就可以看得到有一个mysql镜像,如下图:

然后我们点击最右侧的创建容器,因为他这个手动创建,没有配置mysql密码这个选择,因此我们选择命令创建,然后输入以下命令,这里我们创建mysql的密码就是666666了,

docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=666666 -d mysql:latest

然后点击执行命令,好喽,这下我们就基于docker创建了我们自己的mysql服务了

然后点击上面的容器查看是否真的创建了容器并运行:

可以看得到我们的容器确实已经在运行了,然后我们使用navicat进行远程连接一下,输入我们的主机和连接密码,点击测试连接,是提示我们连接成功的,然后我们点击确定,再点击下方的确定

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登录:

然后我们输入服务器密码,点击连接:

登录成功之后使用下面命令安装sysbench

yum install sysbench

OK,出现下面的页面就说明以及安装成功了,接下来我们进行测试 

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 数据库里面,新增一个表并且插入一百万条数据,用于后续的性能测试当作准备数据。我们可以模拟真实负载条件,对数据库性能进行评估,以确保它在处理大量读写操作时的表现。这有助于验证数据库的稳定性和性能,以满足实际应用程序的需求。 

输入如下说明我们的测试数据以及准备好了。接下来我们在执行一条测试读写性能的命令:

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秒之后得到如下的输出: 

原文版

中文版:

解释如下:

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企业节,华为云还推出了超值特惠,把握此刻,助您企业腾飞,开启高速发展之路!

Read more

把 VS Code 升到最新版:Windows / macOS / Linux 全平台最稳指南

把 VS Code 升到最新版:Windows / macOS / Linux 全平台最稳指南

想把 Visual Studio Code 升到最新版本,其实可以分两类思路:用应用内置的自动更新,或者交给系统的软件包管理器(winget / Homebrew / APT / DNF / Snap 等)统一升级。下面把每个平台最可靠的做法、核对版本的方法、以及一些常见“坑点”梳理清楚,照着做基本就万无一失。 一、最省心的方式:用 VS Code 自带更新 VS Code 官方提供了稳定的每月发布节奏,绝大多数平台默认开启自动更新;也支持手动触发检查。路径如下: * Windows / Linux:Help → Check for Updates。 * macOS:Code → Check for Updates。 这是官方文档明确写明的菜单路径;若开启自动更新,系统会在后台拉取新版本并提示你重启应用完成安装。(Visual Studio Code)

By Ne0inhk
GitHub Copilot安装使用

GitHub Copilot安装使用

GitHub Copilot 怎么安装使用 一、 安装前准备 1. 拥有一个 GitHub 账号:如果没有,请先在 GitHub 官网 注册。 2. 订阅 GitHub Copilot: * 访问订阅页面:登录 GitHub 后,访问 GitHub Copilot 官网。 * 选择订阅计划: * 个人版:适合独立开发者,提供 30 天免费试用,之后每月 $10 或每年 $100。 * 商业版 (Copilot for Business):适用于企业或团队,每位用户每月 $19。 * 教育优惠:学生、教师和热门开源项目维护者可免费使用,需通过身份验证。 * 完成支付:根据所选计划完成支付流程(个人版需绑定信用卡或

By Ne0inhk
Continue插件实现本地部署一个“cursor”或“github copilot”

Continue插件实现本地部署一个“cursor”或“github copilot”

本地部署 AI 代码助手,制作一个 Cursor/GitHub Copilot 的替代版本 一 需求分析 * 本地部署的定义与优势(数据隐私、离线使用、定制化)。 * Cursor 与 GitHub Copilot 的功能(代码补全、对话交互、模型差异)。 * 本地部署的AI 代码助手适用场景:企业内网开发、敏感数据环境。 二 环境准备与工具选择 * 硬件要求:GPU 要对应上你所部署的模型大小 * 模型选择:qwen2.5-14b-instruct (这里选择千问的大模型) 三 部署开源模型 这里不详细介绍具体的大模型部署的具体过程,部署完成之后,你应该得到对应的模型的以下信息 model: "qwen2.5-14b-instruct" apiBase: "http://你的ip地址(自己的本机就写localhost)

By Ne0inhk

Mac Mini M4 跑 AI 模型全攻略:从 Ollama 到 Stable Diffusion 的保姆级配置指南

Mac Mini M4 本地AI模型实战:从零构建你的个人智能工作站 最近身边不少朋友都在讨论,能不能用一台小巧的Mac Mini M4,搭建一个属于自己的AI开发环境。毕竟,不是每个人都有预算去租用云端的高性能GPU,也不是所有项目都适合把数据传到云端处理。我折腾了大概两周,从Ollama到Stable Diffusion,把整个流程走了一遍,发现M4芯片的潜力远超预期。这篇文章,就是把我踩过的坑、验证过的有效配置,以及一些提升效率的小技巧,毫无保留地分享给你。无论你是想本地运行大语言模型进行对话和创作,还是想离线生成高质量的AI图像,这篇指南都能帮你把Mac Mini M4变成一个得力的AI伙伴。 1. 环境准备与基础配置 在开始安装任何AI工具之前,确保你的系统环境是干净且高效的,这能避免后续无数莫名其妙的依赖冲突。Mac Mini M4出厂预装的是较新的macOS版本,但这还不够。 首先,打开“系统设置” -> “通用” -> “软件更新”,确保你的macOS已经更新到可用的最新版本。苹果对Metal图形API和神经网络引擎的优化通常会随着系统更新而提升,这对于后续运

By Ne0inhk