提高 MySQL 性能
Posted
技术标签:
【中文标题】提高 MySQL 性能【英文标题】:Improve MySQL Performance 【发布时间】:2016-10-07 19:41:16 【问题描述】:信息: mysql 社区 5.7.12 64 位
编程语言: Python 3.5
mysqld.cnf: Mysqld.cnf
“显示变量”的结果 show variables
说明: - 我有 200 000 个任务。 - 我用 500 个线程处理这些任务,每个任务一个,当一个线程完成时,另一个任务开始。这样做的目的是运行的线程不要超过 500 个。 - 我正在为每个线程创建一个连接。 (pymysql) - 这个线程中的每个线程都会在查询“插入忽略”的情况下对表进行大约 350 次插入。 - 这是在一个有 12 列的表中的非常基本的插入。
我有一个具有以下规格的服务器: 所以:Ubuntu 16.04 LTS 内存:32 GB 处理器:6 核 2.66 GHz 处理器数量:2 硬盘:10K RPM SAS 2.5" 虚拟内核:24 个内核。
我遇到的问题是在数据库中进行插入需要花费大量时间,每个线程平均需要 1000 秒。
我该如何改进呢?带着这个问题,我把mysqld.cnf的链接和show variables y csv格式的结果放了。
请给点建议?
谢谢!
【问题讨论】:
你最好提供代码片段 你可以用多插入语法做小批量而不是 350 个单独的插入吗? Jared Beekman,我可以试试。今晚我将对其进行测试并赞扬结果。 【参考方案1】:感谢 Jared Beekman 的评论,我能够对此进行优化。 我将所有查询放在一起,结果是处理速度快了 100 倍。
【讨论】:
以上是关于提高 MySQL 性能的主要内容,如果未能解决你的问题,请参考以下文章