教训:
解决问题的过程很值得学习!
为什么性能是提升了10倍以上呢?每当日志文件写满后,最差的解决方案:关闭文件、删除文件、新建日志文件、重新开始写(请思考这个过程中的代价,打开、
关闭特别费时间);最好的解决方案:写满后fseek到日志开头重新开始写(一次seek的代价,事实上MySQL使用两个同样的日志文件进行轮回的)。
所以时刻记住fseek是一个奢侈的东西
其实这个问题有点弱智(疏忽),但是解决过程很有意思 :)
和这个问题相关的还有写参数可以调整,但是都不是瓶颈所以不多说了
--------------------------------------------
Unix上在哪里指定选项?
在Unix上,mysqld从下列文件,如果它们存在的话。以下列的顺序读取选项:
·
/etc/my.cnf
全局选项。
·
$MYSQL_HOME/my.cnf
服务器专用选项。
·
defaults-extra-file
--defaults-extra-file选项指定的文件。
·
~/.my.cnf
用户专用选项。
MYSQL_HOME代表环境变量,它内含着到包含服务器专用my.cnf文件的目录的路径。
如果你确信mysqld只从指定文件读取选项,你可以在启动服务器之时在命令行使用--defaults-option作为第一个选项:
mysqld --defaults-file=your_path_to_my_cnf<