代码编织梦想

🔴大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂


写在前面

今天,我们对手里的这台:Flexus云服务器X实例机器进行一个数据库性能评测,这款服务器,之前也做过一些评测,例如大模型的、基础评测,效果都还不错,现在我们看看使用官方的mysql加速,评测一下看看效果表现的怎么样。

选择配置

如果需要选择服务器,可以直接从官网进行设定配置即可,不过需要注意的是,我们在正常的选配置的同时,需要勾选一下mysql性能加速这个选项,如下图所示:

在这里插入图片描述

安装mysql数据库

我比较懒,所以一般都是拿到新服务器后,直接先安装个宝塔面板,然后所有的环境都在宝塔面板里面直接搭建,常见的软件:mysql,nginx,redis ,jdk等,都通过宝塔的软件商店直接安装,方便省事还不容易出问题,我这边数据库安装的是mysql8.0,安装的地方如下所示:

在这里插入图片描述
安装完数据库后,我们可以使用sqlyong等工具进行远程连接测试。

root密码从这里查看:

在这里插入图片描述
在远程工具中填写地址、端口、用户名以及密码即可。

在这里插入图片描述
大家可以看到,会报错,这个错误表示:远程连接失败,下面我们来看看如何解决这个问题。

解决mysql远程连接问题

默认,mysql数据库对于root用户是不开放远程连接的权限的,我们需要手动修改root用户的远程连接权限,下面是修改步骤。

控制台中登录数据库

  1. 输入如下命令登录mysql数据库:
mysql -u root -p

接下来会提示让你输入密码,那么我们直接将上面看到的root密码输入回车即可。

  1. 选择数据库
use mysql;

在这里插入图片描述
3. 查询user表中root用户的权限。

select user,host from user;

在这里插入图片描述
可以看的出来,都是localhost,接下来我们需要将localhost修改 成%。

  1. 修改root用户的权限:
update user set Host='%' where User='root';

在这里插入图片描述
然后如图所示,再次查询,发现已经修改 完成。

  1. 刷新权限:
flush privileges;
flush hosts;

在这里插入图片描述
最后,我们从工具中在试试看看。

在这里插入图片描述

发现可以连接成功啦。

mysql性能测评

我们通过一个sh脚本进行测评,脚本内容如下所示:

创建脚本

#!/bin/bash

# 数据库配置
HOST="localhost"
PORT="3306"
USER="your_username"
PASSWORD="your_password"
DATABASE="your_database"

# 创建测试表
CREATE_TABLE_SQL="CREATE TABLE IF NOT EXISTS test_performance (
    id INT AUTO_INCREMENT PRIMARY KEY,
    value VARCHAR(255)
);"

# 插入数据的SQL语句
INSERT_SQL="INSERT INTO test_performance (value) VALUES ('test_value');"

# 更新数据的SQL语句
UPDATE_SQL="UPDATE test_performance SET value = 'updated_value' WHERE id = %d;"

# 删除数据的SQL语句
DELETE_SQL="DELETE FROM test_performance WHERE id = %d;"

# 查询数据的SQL语句
SELECT_SQL="SELECT * FROM test_performance;"

# 连接数据库
mysql -h"$HOST" -P"$PORT" -u"$USER" -p"$PASSWORD" -e "$CREATE_TABLE_SQL" "$DATABASE"

# 开始测试
echo "开始测试数据库性能..."

# 插入数据测试
start_time=$(date +%s)
for i in {1..1000}
do
    mysql -h"$HOST" -P"$PORT" -u"$USER" -p"$PASSWORD" -e "$INSERT_SQL" "$DATABASE"
done
end_time=$(date +%s)
echo "插入1000条数据耗时: $((end_time - start_time))秒"

# 更新数据测试
start_time=$(date +%s)
for i in {1..1000}
do
    mysql -h"$HOST" -P"$PORT" -u"$USER" -p"$PASSWORD" -e "$(printf "$UPDATE_SQL" $i)" "$DATABASE"
done
end_time=$(date +%s)
echo "更新1000条数据耗时: $((end_time - start_time))秒"

# 删除数据测试
start_time=$(date +%s)
for i in {1..1000}
do
    mysql -h"$HOST" -P"$PORT" -u"$USER" -p"$PASSWORD" -e "$(printf "$DELETE_SQL" $i)" "$DATABASE"
done
end_time=$(date +%s)
echo "删除1000条数据耗时: $((end_time - start_time))秒"

# 查询数据测试
start_time=$(date +%s)
mysql -h"$HOST" -P"$PORT" -u"$USER" -p"$PASSWORD" -e "$SELECT_SQL" "$DATABASE"
end_time=$(date +%s)
echo "查询所有数据耗时: $((end_time - start_time))秒"

echo "数据库性能测试结束。"

从脚本中,我们可以看的出来,针对对数据库的增删改操作,查看数据库的耗时,以上为1000条数据的数据。

将此脚本保存为test_db_performance.sh,并赋予执行权限:

chmod +x test_db_performance.sh

运行脚本

./test_db_performance.sh

在这里插入图片描述
可以看到,正在执行操作…我们需要稍做等待,看看耗时。

插入1000条数据的耗时:
在这里插入图片描述
更新1000条数据的耗时:
在这里插入图片描述
删除1000条数据的耗时:
在这里插入图片描述
整体表现还行。

第二次进行1000条数据测试:

在这里插入图片描述
有人可能要说了,1000条数据,测得没意义,那么接下来我们测试一下10万条数据试试?

测试10万条数据的插入、更新以及删除的耗时

修改一下脚本:

#!/bin/bash

# 数据库配置

HOST="xxx"
PORT="3306"
USER="root"
PASSWORD="xxx"
DATABASE="schooldb"
# 测试数据量
DATA_SIZE=100000  # 例如,设置为10万条数据

# 创建测试表
CREATE_TABLE_SQL="CREATE TABLE IF NOT EXISTS test_performance (
    id INT AUTO_INCREMENT PRIMARY KEY,
    value VARCHAR(255)
);"

# 插入数据的SQL语句
INSERT_SQL="INSERT INTO test_performance (value) VALUES ('test_value_%d');"

# 更新数据的SQL语句
UPDATE_SQL="UPDATE test_performance SET value = 'updated_value_%d' WHERE id = %d;"

# 删除数据的SQL语句
DELETE_SQL="DELETE FROM test_performance WHERE id = %d;"

# 连接数据库并创建表
mysql -h"$HOST" -P"$PORT" -u"$USER" -p"$PASSWORD" -e "$CREATE_TABLE_SQL" "$DATABASE"

# 测试插入
start_time=$(date +%s%N)  # 获取纳秒级时间戳
for i in $(seq 1$DATA_SIZE); do
    mysql -h"$HOST" -P"$PORT" -u"$USER" -p"$PASSWORD" -e "$(printf "$INSERT_SQL" $i)" "$DATABASE" 2>/dev/null
done
end_time=$(date +%s%N)
insert_time=$((end_time - start_time))
echo "插入 $DATA_SIZE 条数据耗时:$((insert_time/1000000000))$((insert_time%1000000000))纳秒"

# 测试更新
start_time=$(date +%s%N)
for i in $(seq 1$DATA_SIZE); do
    mysql -h"$HOST" -P"$PORT" -u"$USER" -p"$PASSWORD" -e "$(printf "$UPDATE_SQL" $i$i)" "$DATABASE" 2>/dev/null
done
end_time=$(date +%s%N)
update_time=$((end_time - start_time))
echo "更新 $DATA_SIZE 条数据耗时:$((update_time/1000000000))$((update_time%1000000000))纳秒"

# 测试删除
start_time=$(date +%s%N)
for i in $(seq 1$DATA_SIZE); do
    mysql -h"$HOST" -P"$PORT" -u"$USER" -p"$PASSWORD" -e "$(printf "$DELETE_SQL" $i)" "$DATABASE" 2>/dev/null
done
end_time=$(date +%s%N)
delete_time=$((end_time - start_time))
echo "删除 $DATA_SIZE 条数据耗时:$((delete_time/1000000000))$((delete_time%1000000000))纳秒"

将脚本传入服务器后,同样给一下权限,然后执行:

./test_db_max.sh 

输出结果如下:

插入耗时:242秒
更新耗时:241秒
删除耗时:200秒

总结:

整体来说,性能还是很强悍的,在跑数据的时候,cpu以及内存的占用也不高,我这边只是用shell脚本来进行测评的,实际开发中,我们可能用的是某个开发语言,比如java 或者python 或者go等,一般这么大的操作量都会使用多线程并行执行,耗时比这个好要更低。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-NC-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_34137397/article/details/141760939

ubuntu下安装K8S集群-爱代码爱编程

文章目录 前言1. 配置通用设置安装docker安装kubeadm、kubectl、kubelet修改配置2. 分别配置三台虚拟机3. 建立集群3.1 拉起master3.2 配置Node4. 测试集群简介部署访问登录 前言 本文将不翻墙部署一个3节点(1主2从)集群,已经在ubuntu2004上测试通过。 配置3节点集群,您的电脑最好有:

并发服务器-爱代码爱编程

一、服务器 1.单循环服务器:同一时刻,只能处理一个客户端的任务; 2.并发服务器:同一时刻,可以处理多个客户端的任务; 3.TCP并发服务器: (1)多进程: (2)多线程: 多进程并发服务器 基本概念: 采用多个进程来处理客户端请求,每个请求由一个独立的进程处理。通常使用操作系统的进程创建机制(如 fork)来生成新进程。 优

华为云征文|部署电影收藏管理器 radarr-爱代码爱编程

华为云征文|部署电影收藏管理器 Radarr 一、Flexus云服务器X实例介绍1.1 云服务器介绍1.2 应用场景1.3 核心竞争力 二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器连接

华为云app合规检测常见问题(app安全评估报告+资料)-爱代码爱编程

App合规检测任务状态显示失败如何处理? App合规检测任务状态显示失败的常见原因有: 应用文件解析异常:应用文件本身存在不完整、结构异常等问题,导致服务无法正常解析。提供正确的应用文件重新创建扫描任务即可。 应用文件上传中损坏:应用文件在传送过程中损坏,导致无法正确解析,重新创建扫描任务进行扫描即可。 其它原因导致任务失败:多次重复创建任务后扫描任务仍

华为云征文|部署私有云和文档管理系统 kodcloud-爱代码爱编程

华为云征文|部署私有云和文档管理系统 Kodcloud 一、Flexus云服务器X实例介绍1.1 云服务器介绍1.2 产品优势1.3 对比Flexus L实例和ECS 二、Flexus云服务器X实例配置2

华为云征文|部署个人博客管理系统 ghost-爱代码爱编程

华为云征文|部署个人博客管理系统 Ghost 一、Flexus云服务器X实例介绍1.1 云服务器介绍1.2 应用场景1.3 对比普通ECS 二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器

华为云征文|华为云flexus x实例docker部署srs6并调优,协议使用webrtc与rtmp-爱代码爱编程

华为云征文|华为云Flexus X实例docker部署srs6并调优,协议使用webrtc与rtmp 什么是华为云Flexus X实例 华为云Flexus X实例云服务是新一代开箱即用、体验跃级、面向中小企业和开发者打造

华为云征文|部署内容管理系统 joomla-爱代码爱编程

华为云征文|部署内容管理系统 Joomla 一、Flexus云服务器X实例介绍1.1 云服务器介绍1.2 应用场景1.3 核心竞争力 二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器连接2

华为云征文|华为flexus x服务器实例使用docker搭建es和kibana-爱代码爱编程

目录 开放端口 Flexus控制台-安全组操作  服务器实例内-开放防火墙端口 Flexus X实例安装Docker Docker安装ElasticSearch Docker安装Kibana 安装IK分词器 华为云基于创新的“柔性算力”技术,重磅推出云服务器产品:华为云Flexus云服务器X实例。 如果你还在使用CentOS7.x

华为云征文|初识flexus云服务x实例和参数配置,finalshell远程连接,安装mysql并配置和远程访问-爱代码爱编程

引出 4核12G-100G-3M规格的Flexus X实例使用测评第一弹:初识Flexus云服务X实例和参数配置,finalShell远程连接,安装MySQL并配置和远程访问 初识Flexus云服务X实例和参数配

【服务对接】✈️springboot 项目整合华为云 obs 对象存储服务-爱代码爱编程

目录 👋前言 👀一、环境准备 🌱二、整合实现         1.依赖引入         2.准备 AK 和 SK ​        3.配置类         4.obs 工具类封装 💞️三、测试使用 🍻四、 obs 客户端  📫五、章末 👋前言         小伙伴们大家好,上次了解了如何通过 Java 将文本转

阿里云oss迁移至华为云obs,java整合华为云oms实现文件的自动批量迁移功能-爱代码爱编程

华为云OBS 华为云对象存储服务(Object Storage Service,简称OBS)是华为云提供的一个高可靠、高安全、高可扩展的云存储服务。它允许用户在云上存储和管理海量数据,如图片、视频、文档、备份文件等。OBS 可以用作数据备份、文件共享、大数据存储、以及静态网站托管等多种用途。 OBS 的主要特点包括: 高可靠性:OBS 提供了

teamtalk消息服务器(群组相关)-爱代码爱编程

具体的流程如下介绍,后续需要着重研究数据库相关表的结构设计。 群组信令和协议设计 enum GroupCmdID { CID_GROUP_NORMAL_LIST_REQUEST = 1025, CID_GROUP

华为云征文 | 华为云flexus云服务器x实例的购买及使用体验-爱代码爱编程

华为云征文 | 华为云Flexus云服务器X实例的购买及使用体验 前言一、华为云Flexus云服务器X实例介绍1.1 Flexus云服务器X实例简介1.2 Flexus云服务器X实例特点1.3 Flexus云服

华为云征文|基于flexus云服务器x实例部署caddy的教程-爱代码爱编程

🔴大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂 先看这里 写在前面caddy简单介绍在华为云Flexus X实例中安装caddydocker中安装caddy配置Caddy反向代理配置

华为云征文|基于flexus云服务器x实例体验大模型部署体验测评-爱代码爱编程

🔴大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂 先看这里 前言部署千问大模型 前言 当下,各种大模型层出不穷,先有openai的chatgpt,后有百度文心一言,再就是国内

华为云征文|基于flexus云服务器x实例之安装长亭雷池waf教程-爱代码爱编程

🔴大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂 先看这里 写在前面何为长亭雷池waf安装社区版雷池雷池环境要求查看华为云Flexus云服务器X实例的配置一条命令安装雷池waf检查查看是否安装