提高 MySQL 性能
Improve MySQL Performance
信息:
MySQL 社区 5.7.12 64 位
编程语言:
Python3.5
mysqld.cnf:
Mysqld.cnf
"show variables"的结果
show variables
说明:
- 我有 200 000 个任务。
- 我用 500 个线程处理这些任务,每个任务一个,当一个线程完成时,另一个任务开始。这样做的重点是不要超过 500 个线程 运行。
- 我正在为每个线程创建一个连接。 (pymysql)
- 该线程中的每个线程都对 table 查询 "insert ignore" 进行了大约 350 次插入。
- 这是在 12 列的 table 中非常基本的插入。
我有一台具有以下规格的服务器:
所以:Ubuntu 16.04 LTS
内存:32GB
处理器:6 核 2.66 GHz
处理器数量:2
硬盘:10K RPM SAS 2.5"
虚拟内核:24 个内核。
我遇到的问题是在数据库中执行插入操作需要花费大量时间,每个线程平均需要 1000 秒。
我该如何改进?有了这个问题,我把 mysqld.cnf 的链接和 show variables y csv 格式的结果。
有什么建议吗?
谢谢!
感谢 Jared Beekman 的评论,我得以对此进行优化。
我将所有查询放在一起,结果是过程快了 100 倍。
信息: MySQL 社区 5.7.12 64 位
编程语言: Python3.5
mysqld.cnf: Mysqld.cnf
"show variables"的结果 show variables
说明: - 我有 200 000 个任务。 - 我用 500 个线程处理这些任务,每个任务一个,当一个线程完成时,另一个任务开始。这样做的重点是不要超过 500 个线程 运行。 - 我正在为每个线程创建一个连接。 (pymysql) - 该线程中的每个线程都对 table 查询 "insert ignore" 进行了大约 350 次插入。 - 这是在 12 列的 table 中非常基本的插入。
我有一台具有以下规格的服务器: 所以:Ubuntu 16.04 LTS 内存:32GB 处理器:6 核 2.66 GHz 处理器数量:2 硬盘:10K RPM SAS 2.5" 虚拟内核:24 个内核。
我遇到的问题是在数据库中执行插入操作需要花费大量时间,每个线程平均需要 1000 秒。
我该如何改进?有了这个问题,我把 mysqld.cnf 的链接和 show variables y csv 格式的结果。
有什么建议吗?
谢谢!
感谢 Jared Beekman 的评论,我得以对此进行优化。 我将所有查询放在一起,结果是过程快了 100 倍。