跪求指教,mysql短期挂起
先描述下现象,我的程序是不停把终端发来的数据,insert到mysql的表中。
用的过程中发现,总是一段时间之后(几小时),就会出现insert操作挂起的情况,时长5-20秒不等,但之后又恢复正常。
经过不断的摸索,发现mysqld.exe的占用内存会不断上升,而上升到一定程度,就不再增加了。这个上升量大约就是innodb_buffer_pool_size的大小。而Innodb_buffer_pool_pages_free这个值被耗尽的时候,就是mysql语句挂起的时候,挂起占用的时间不定,一般都要好几秒。
我尝试过修改innodb_buffer_pool_size这个值,但是由于Innodb_buffer_pool_pages_data会不停增加,再大的innodb_buffer_pool_size也无济于事。
请教如何才能避免这种Innodb_buffer_pool_pages_free耗尽带来的mysql挂起呢?这到底是是什么原理,我大概猜测应该是mysql在内存和磁盘之间切换,但这个挂起时间真的无法接收,虽然是一次性的。