巨型magento的mysql配置

uqjltbpv  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(654)

下面是mysqltuner的报告,最后我写了服务器的统计数据和实际问题。
绩效指标
[--]启动时间:2d 14h 28m 52s(59m q[266.240 qps],96k连接,tx:114g,rx:16g)
[--]读/写:18%/82%
[--]二进制日志记录已禁用
[--]物理内存:125.9g
[--]最大mysql内存:381.5g
[--]其他进程内存:308.9m
[--]总缓冲区:59.2g全局+66.0m每个线程(最多5000个线程)
[--]p\u s最大内存使用量:72b
[--]galera gcache最大内存使用量:0b
[确定]达到的最大内存使用量:61.3g(占已安装ram的48.69%)
[!!] 最大可能内存使用量:381.5g(已安装ram的302.98%)
[!!] 其他进程超出内存的总体可能内存使用率
[确定]慢速查询:0%(171/59m)
[确定]可用连接的最高使用率:0%(32/5000)
[确定]中止的连接:0.00%(1/96766)
[!!] 由于互斥争用,查询缓存在默认情况下可能被禁用。
[确定]查询缓存效率:88.5%(34m缓存/39m选择)
[确定]每天查询缓存修剪数:0
[确定]需要临时表的排序:0%(264临时排序/276k排序)
[!!] 在没有索引的情况下执行的联接:13649
[确定]在磁盘上创建的临时表:3%(磁盘上23k/641k)
[确定]线程缓存命中率:99%(创建32个/96k个连接)
[确定]表缓存命中率:70%(7k打开/10k打开)
[确定]使用的打开文件限制:0%(124/1m)
[确定]立即获取表锁:100%(1k立即/1k锁)myisam度量
[!!] 使用的密钥缓冲区:18.1%(使用27m/150m缓存)
[!!] 关键缓冲区大小/myisam索引总数:144.0m/147.8m
[!!] 读取密钥缓冲区命中率:86.8%(缓存38次/5次读取)
innodb指标
[--]innodb已启用。
[--]innodb线程并发:16
[确定]每个表的innodb文件已激活
[确定]innodb缓冲池/数据大小:56.0g/8.5g
[!!] innodb日志文件大小/innodb缓冲池大小的比率(2.67857142857143%):768.0m*2/56.0g应等于25%
[!!] innodb缓冲池示例:32
[--]innodb缓冲池区块数:448(32个缓冲池示例)
[确定]innodb\u buffer\u pool\u大小与innodb\u buffer\u pool\u chunk\u大小和innodb\u buffer\u pool\u示例对齐
[确定]innodb读取缓冲区效率:100.00%(13238376177次命中/13238716229次总命中)
[确定]innodb写日志效率:99.46%(175848562次命中/176798170次总命中)
[确定]innodb日志等待:0.00%(0等待/949608写入)

General recommendations:
Control warning line(s) into /my/path/to/log/mysql-error.log file
Control error line(s) into /my/path/to/log/mysql-error.log file
Reduce your overall MySQL memory footprint for system stability
Dedicate this server to your database for highest performance.
Adjust your join queries to always utilize indexes

要调整的变量:
mysql的最大内存使用率非常高
在增加mysql缓冲区变量之前添加ram
查询缓存大小(=0)
查询缓存类型(=0)
连接缓冲区大小(>16.0m,或始终使用带有连接的索引)
钥匙缓冲垫尺寸(>147.8m)
innodb\u log\u file\u size*组中的innodb\u log\u files\u应尽可能等于缓冲池大小的1/4(=28g)。
innodb\ buffer\ pool\示例(=56)
系统配置
ubuntu 16.04.5 lts版
mysql版本:5.7.22
我正在使用Magento1.9.3.4和一个网站,3个商店和10万个产品,大约1700个类别。
除了上面的mysql推荐之外,我注意到的另一点是,当我在browser中加载category时,mysql消耗了40-50%的cpu使用率。
基于我的ram如果有人能帮我配置最合适的mysql配置,那就太感谢了。
另外请记住,由于我们有10万以上的产品,速度是主要问题,所以在mysql配置的任何变化,不应该消耗速度,相反,如果它可以帮助提高速度比这将是一个伟大的前进方式。
谢谢你。

hvvq6cgz

hvvq6cgz1#

对my.cnf[mysqld]部分的建议

thread_cache_size=64  # from 32 to expand capacity
innodb_lru_scan_depth=100  # from 1024 to conserve 90% of CPU cycles used for function every second

免责声明:我是我的个人资料中提到的网站的内容作者,我们有可下载的免费实用程序脚本,以协助性能调整和联系信息。

相关问题