现在在做一个系统,用Mysql做数据库,发现数据量变大之后。mysql的cpu占用率很高,一个测试端访问服务器时mysql的cpu占用率为15% ,6个测试端连服务器的时候mysql cpu占用率为50%~60% 。能不能优化,如何优化,我使用的mysql配置都是默认的。ps 1: 每个测试端所做事情就是插入记录,不过插入前会先查询一下是否已经有相同的记录,有的话就更新原有记录,没有就直接插入。ps 2: CPU--Pentium Dual E1240 @ 1.60GHZ
内存--2G
OS--Windows 2003
内存--2G
OS--Windows 2003
InnoDB引擎在缺省参数配置下性能较差。
推荐InnoDB的配置(1G内存情况,主要运行mysql服务器):
innodb_buffer_pool_size = 600M
innodb_additional_mem_pool_size = 64M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 256M
#innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
innodb_file_per_table
其中innodb_flush_log_at_trx_commit和innodb_file_per_table对I/O性能影响最大。
my-large.cnf等文件只是优化myisam引擎的参数,这一点在优化配置时特别要注意。