1、CPU
数据库一般是IO密集型的,其性能瓶颈在于IO。数据库服务器的选购偏内存,CPU可以适当降低其要求。
InnoDB存储引擎相关后台线程:
show engine innodb status\G;
插入缓冲区线程 http://www.cnblogs.com/yuyue2014/p/3802779.html
InnoDB insert buffer thread 线程主要是更新非唯一索引的索引数据,避免频繁随机的读写索引文件。(索引数据存放在表默认表空间中)
log thread : InnoDB的默认指的就是redo日志,log thread 就是写 redo 日志的线程。
read thread | write thread 读、写日志线程(文件 《—-》内存)
根据CPU适当调节innodb_read_io_threads与innodb_write_io_threads
2、内存
内存的大小最能直接反应数据库的性能。InnoDB存储引擎既缓存数据,又缓存索引(存放在数据文件中,表空间),并放入一个很大的缓冲池中(InnoDB Buffer Pool)。
innodb_buffer_pool的大小如果能等于数据文件的大小,则能缓存所有的数据文件,性能会得到极高的提升(innodb_buffer_pool_size),如何判断当前数据库的内存是否达到了瓶颈了呢。
mysql提供 show global status 命令查看系统运行状况监控,(INFORMATION_SCHEMA GLOBAL_STATUS临时表)。