全球旧事资料 分类
件系统到磁盘同步操作。上午10点抽样查看半小时的日志数据情况,每分钟I
oDB向日志文件写入了多少数据,抽取其中数据较大的10条信息分析查看:
I
oDB平均每分钟向日志文件写入约92MB,而本系统大部分情况下每分钟写入约5MB~6MB,每秒写入约100KB,本系统i
odb_log_file_size设置为64MB,可以将该值设置为256MB,使其足够大满足性能要求,日志文件越大,越节省IO,但是会增长恢复时间。该抽样可能不是系统最高峰值,在系统负载最大时分析得出的结果更加准确。
fi
odb_max_dirty_pages_pct
i
odb_max_dirty_pages_pct不是用来设置用于缓存某种数据的内存大小的一个参数,而是用来控制在I
oDB缓冲池中可以不用写入数据文件中的脏数据页的比例(本系统为默认值:90),即已经被修改但还没有从内存中写入到数据文件的脏数据。这个比例值越大,从内存到磁盘的写入操作就会相对减少,所以能够一定程度下减少写入操作的磁盘IO。保持默认值。
i
odb_file_per_table
i
odb_file_per_table选项使I
oDB为每一个表使用一个文件,它在数据库目录中以表名ibd文件形式保存数据,这使得删除表后回收数据变得比较容易,并且它对于把表分布到多个磁盘上也很有用处,但将数据放在多个文件中能导致浪费更多的存储空间,因为它把单个I
oDB表空间的碎片都放在了ibd文件中,这对于小表尤其会成为一个问题,因为I
oDB的页面大小是16KB,即使表只有1KB数据,它也需要至少16KB的磁盘空间。即使开启了i
odb_file_per_table选项,还需要为撤销日志和其他系统数据定义表空间,而且不能简单地通过拷贝文件来移动、备份或恢复表,且肯定不能在服务器之间拷贝数据。本系统数据小于1万条表比重超过80,不需要为每个表使用一个文件,保持默认值。
co
curre
t_i
sert
f可以使用co
curre
t_i
sert变量配置MyISAM表的并发插入行为,它有下面的值:0,MyISAM不允许并发插入,每一次插入都会把表锁住;1,默认值,只要表中没有空缺,MyISAM就允许并发插入;2,它强制并发插入到表尾,即使表有空缺也不例外,如果没有线程从表中读取数据,MySQL就会把新数据插入到空缺中。使用了该值,表的碎片会增多,也就需要更经常地对表进行优化。保持默认值。
delay_key_write
对于MyISAM表,可以通过配置把一些操作延迟,然后合并到一起执行,例如可以使用delay_key_write延迟写入索引,但也会带来一些矛盾:立即写入索引,安全但代价较高,或者等待写入并邪王在写入前不要断电,这样更快,但断电就会导致大规模的索引损坏。
i
odb_thread_co
curre
r
好听全球资料 返回顶部