nsq 支持分布式事务(四)

也许我就是个跑偏的人,这个系列越写越偏

基准测试

本来是跟原版里面./bench.sh做一些基准测试,在我这台垃圾电脑上面

写性能

最后发现如果没有SyncTimout(就是超时落盘)这个,dtnsq写竟然40w/s,而nsq18w/s~20w/s

没办法加上了默认了SyncTimout(2s),但是dtnsq也是30w/s

大家在落盘之前都是内存操作,如果有性能差异,我猜测是 channel导致的

读性能

读性能没法比较,因为当前dtnsq根本没有做push,只是定时拉取

修改

我需要将一些代码细节优化(不是为了写性能),稍微向生产方向靠近再来进一步测试

优化定时器

之前的消费者的pull定时器是从nsqd里面触发的,很容易将整个nsqd``lock

这里面改成每一个读backend自行维护一个定时器

控制反转

之前写代码的时候,有考虑一些控制反转,但是还需要细致下去,主要是为了做单元测试

不然现在改几行根本不敢确定有没有影响之前的功能

(未完待续)