影响mysql数据库性能的因素有哪些

影响mysql数据库性能的因素有哪些,第1张

影响数据性能的主要因素总结如下:

1、sql查询速度

2、网卡流量

3、服务器硬件

4、磁盘IO

以上因素并不是时时刻刻都会影响数据库性能,而就像木桶效应一样。如果其中一个因素严重影响性能,那么整个数据库性能就会严重受阻。另外,这些影响因素都是相对的。

例如:当数据量并没有达到百万千万这样的级别,那么sql查询速度也许就不是个重要因素,换句话说,你的sql语句效率适当低下可能并不影响整个效率多少,反之,这种情况,无论如何怎么优化sql语句,可能都没有太明显的效果。

相关内容拓展:

1、SQL查询速度

风险:效率低下的SQL

2、网卡流量

风险:网卡IO被占满(100Mb/8=100MB)

方案:

①减少从服务器的数量。从服务器都要从主服务器上复制日志,所以,从服务器越多,网络流量越大。

②进行分级缓存。前方大量缓存突然失效会对数据库造成严重的冲击。

③避免使用“select * ”进行查询

④分离业务网络和服务器网络

3、磁盘IO

风险:磁盘IO性能突然下降。

方案:使用更好的磁盘设备解决。

希望可以帮到您,谢谢!

百万级是正常范围。

mysql性能主要耗在表间查询,如果没有涉及多个表的 *** 作,性能不会下降太多。

在同一张表内的话,再多也是没问题的。另外,表内也可以指定某字段为索引(创建时指定主键的话会自动创建索引)。这样就可以加速了。

提高性能有很多方面,但最基本的就是,

1.选好字段的数据类型,比如ip地址用整型,不要用字符。时间,日期用mysql给的类型,不要用整型等。这样不仅可以降低数据文件大小,也可以利用mysql的专门针对的优化。

2.索引。这个对性能提升很大,但也比较讲究。尤其用不同的引擎的时候。因为innodb引擎是按索引存,myisam引擎是按数据添加顺序存。基本是要该字段的数据都是唯一的值,类型尽量小等。。。但添加索引会增大表大小。

之前有做过一个 binlog 压缩能节约多少空间的测试,效果上看还是比较理想的,可以节约一半以上的空间。但是这个又引出了一个新的问题,那就是这个功能对性能有多大影响呢?于是我又在测试环境试了一下,测试环境的物理配置如下。

根据之前的经验这套测试环境在 120 个表 + 240 个并发的情况,可以取得一个性能上的极大值;所以在这里就直接使用这个作为测试压力。

第一步:安装。

第二步:创建测试用户。

第三步:填充数据并进行压力测试。

性能表现。

资源消耗情况。

第一步:安装。

第二步:创建测试用户。

第三步:填充数据并进行压力测试。

性能表现。

资源消耗情况。

第一步: 关闭 binlog 压缩功能。

第二步:进行压力测试。

性能表现。

资源消耗情况。

开启 binlog 压缩会对性能有影响,大概会让性能下降 1%,cpu 多消耗 1%。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7193284.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存