基于 Flexus 云服务器 X 实例的数据库性能测试
���大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂
@TOC
写在前面
当前,华为云 828 B2B 企业节正如火如荼地进行中,此次活动中,Flexus X 实例的促销力度令人瞩目,建议各位技术爱好者前往了解。尤其是那些对服务器计算能力有着极高要求,并且在搭建 MySQL、Redis、Nginx 等方面追求卓越性能的朋友们,这次的优惠绝对值得你们关注。不容错过的机会就在眼前,快来抓住这次提升技术实力的良机!
恰好,我手里搞到了一台 Flexus 云服务器 X 实例的云服务器。
今天,我们对手里的这台: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 脚本进行测评,脚本内容如下所示:
创建脚本
从脚本中,我们可以看的出来,针对对数据库的增删改操作,查看数据库的耗时,以上为 1000 条数据的数据。
将此脚本保存为 test_db_performance.sh,并赋予执行权限:
chmod +x test_db_performance.sh
运行脚本
./test_db_performance.sh
可以看到,正在执行操作....我们需要稍做等待,看看耗时。
插入 1000 条数据的耗时:
更新 1000 条数据的耗时:
删除 1000 条数据的耗时:
整体表现还行。
第二次进行 1000 条数据测试:
有人可能要说了,1000 条数据,测得没意义,那么接下来我们测试一下 10 万条数据试试?
测试 10 万条数据的插入、更新以及删除的耗时
修改一下脚本:
将脚本传入服务器后,同样给一下权限,然后执行:
./test_db_max.sh
输出结果如下:
插入耗时:242 秒更新耗时:241 秒删除耗时:200 秒
总结:
整体来说,性能还是很强悍的,在跑数据的时候,cpu 以及内存的占用也不高,我这边只是用 shell 脚本来进行测评的,实际开发中,我们可能用的是某个开发语言,比如 java 或者 python 或者 go 等,一般这么大的操作量都会使用多线程并行执行,耗时比这个好要更低。