前一段时间发布了fastmqV0.1.0版,这个版本有一个致命的内存泄漏问题。当并发量上去时,因为线程内变量的原因直接导致了进程会退出。经过2个月的查找、排错终于在上个星期更改完毕。不过这次更改的范围比较大,不要有以下几点:
1. 删除线程池,使用work thread的方式进行thread的管理;
2. 对于work thread的触发不再使用参数通知的方式,而是采用libevent经典pipe方式;
3. 修改了因为使用参数通知而引发的内存泄漏问题;
4. 修改了线程的work data结构;
5.对于网络的socket链接,使用了两次缓存增加了并发的数量;
就目前不完全测试,fastmq支持的并发:写大概在5k/s,读在1w/s。有兴趣的TX可以只用loadrunner压力一下!V0.2.0应该说是fastmq的第一个稳定版本,“勉强”(状态记录功能因为时间的原因还未加入)可以使用在生产环境中的版本。
这个星期会发布v0.2.1版本,该版本将增加daemon配置方式启动;将数据刷新使用线程异步的方式进行;如果时间还够的话,增加服务器监视状态文件。
fastmq的发布地址为:fastmq.googlecode.com