若何知道MySQL的机能是否受到当前InnoDB日记文件大年夜小的限制?可以经由过程查看实际应用了若干可用的重做日记空间来断定。最简单的办法是查看Percona Monitor and Management InnoDB Metrics仪表板。鄙人图中,InnoDB日记文件的大年夜小不敷大年夜,因为应用的空间异常接近可用的重做日记空间(由红线表示)。日记文件的大年夜小应当至少比保持体系最佳运行所用的空间大年夜20%。

MAX_ Connections:大年夜型应用法度榜样连接数平日需高于默认值。不合于其它变量,如不雅没有精确设置它,就不话苄机能问题(本身)。相反,如不雅连接的数量不足以知足您的应用法度榜样的须要,那么您的应用法度榜样将无法连接到数据库(在您的用户看来,这就像是停机时光)。所以精确处理这个变量很重要。
如不雅在多个办事器上运行多个组件的复杂应用法度榜样,很难知道须要若干连接。荣幸的是,MySQL可以很轻易地看到在峰值操作时应用了若干连接。平日,您欲望确保应用法度榜样应用的最大年夜连接数与可用的最大年夜连接数之间至少有30%的差距。查看这些数字的一种简单办法是在Percona监控和治理的MySQL概述仪表板中应用MySQL连接图。下图显示了一个健全的体系,个中有大年夜量的附加连接可用。

须要记住的一点是,如不雅数据库运行迟缓,应用法度榜样平日会创建过多的连接。在这种情况下,您应当处理数据库的机能问题,而不是简单地许可更多的连接。更多的连接会使底层的机能问题变得更糟。
(留意:当将max_Connections变量设置为明显高于默认值瓯,平日须要推敲增长其他参数,如表缓存的大年夜小和打开的MySQL文件的数量。然则,这不属于本文评论辩论典范畴。)
优化技能 #4:将数据库保存在内存中
近年来,我们看到了向固态磁盘(SSD)的过渡。尽管SSD比扭转硬盘快得多,但它们仍然无法与RAM中的数据比拟。这种差别不仅来自存储机能本身,还来自数据库在大年夜磁盘或SSD存储中检索数据时必须做的额外工作。
跟着最新硬件的改进,无论是在云端运行照样治理本身的硬件,都越来越有可能将数据库存储在内存中。
你可能已经看到一些文┞仿供给了一些具体的数字,解释应当将数据库的哪个部分保存在内存中,大年夜10%到33%不等。事实上,没有“一刀切”的数字。合适内存的最佳机能优势的数据量与工作负载相干。与其寻找一个特定的“全能”数字,不如检查一下数据库在其稳定状况下运行的I/O(平日在启动后几个小时)。看看READ,因为如不雅数据库在内存中,则可以完全清除READ。写老是须要产生的,不管你有若干内存可用。
下面,您可以在Percona监控和治理的InnoDBMetrics仪表板中的 InnoDB I/O图中看到 I/O。
默认情况下,MySQL用于小范围的开辟安装,而不是临盆范围。您平日欲望设备MySQL以应用所有可用的内存资本,并许可应用法度榜样须要的连接数量。

在膳绫擎的图表中,您可以看到高磁绫强秒2,000个I/O操作的峰值,这注解(至少对于工作负载的某些部分)数据库工作集不合适内存。
优化技能 #5:应用SSD存储
如不雅您的数据库不合适内存(即使不合适),您仍然须要快速存储来处理写操作,并在数据库升温时(从新启动后)避免机能问题。如今,SSD等于快速存储的代名词。
出于成本或靠得住性的原因,一些“专家”仍然主意应用扭转磁盘(机械磁盘)。坦白地说,当涉及到操作数据库时,这些论点往往已经由时或完全缺点。今天,SSD以较高的价格供给着可不雅的机能和靠得住性。
然而,并非所有SSD都是实用的。对于数据库办事器,您应当应用为办事器工作负载设计的SSD,这种SSD会对数据起到保护感化(例如,在断电时代)。避免应用为台式计算机和标记本电脑设计的商用SSD。
经由过程NVMe或Intel OpTan技巧连接的SSD可供给最佳机能。即使作为SAN、NAS或cloud block设备长途连接,与扭转磁盘比拟,SSD仍然具有更优胜的机能。
优化技能 #6:横向扩大
即使是高机能的办事器也有其局限性。有两种扩大方法:up和out。纵向扩大意味着购买更多的硬件。这可能很昂贵,并且硬件很快就会过时。横向扩大以处理更多的负载有几个好处:
- 可以应用较小且成本较低的体系。
- 经由过程横向扩大,进行线性扩大更快更轻易。
- 因为数据库分布在多台物理机械上,所以数据库不会受到单个硬件故障点的影响。
您还须要确保连接到集群体系构造的应用法度榜样可以或许找到所需的数据–平日经由过程一些代劳办事器和负载均衡器(如 ProxySQL 或 HAProxy )。
在筹划横向扩大时,避免过早地扩大。应用分布式数据库往往更复杂。现代硬件和MySQL办事器只应用一台办事器就可以获得优胜的体验。比来宣布的MySQL 8候选版本注解,它可以或许在单个体系上处理200多万个简单萌芽。
优化技能 #7:可不雅测性
设计最好的体系时要推敲到可不雅察性-MySQL也不例外.。
一旦您启动、运行并精确调剂了MySQL情况,就不克不及仅仅设置而一向行治理。数据库情况会受到体系或工作负载更改的影响。预备好应对诸如流量岑岭、应用法度榜样缺点和MySQL故障等不测。这些工作可以或许并且将会产生。
要大年夜MySQL中获得最佳机能,懂得可设备的的MySQL设置是异常重要的,更重要的是将它们设置为最合适您的数据库情况。
推荐阅读
日前, 微软停止面向通俗用户的 Windows 10 免费进级已经有一年多了,颇┞冯对应用“帮助技巧”的 Windows 10 免费进级办事也将于近期停止。如不雅你还想应用微软官方供给的,>>>详细阅读
本文标题:提高MySQL性能的7个技巧
地址:http://www.17bianji.com/lsqh/38493.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示