BlackHole开发日记-2012-12-16

使用BIND的压力测试工具queryperf做了benchmark。

第一次测试结果不尽人意,拦截模式qps为6000,转发模式只有3000,而BIND有36000。

后来想到会不会是log的原因?因为到了大于10000qps的时候,IO操作耗时就显得很重要了。于是关掉log重试,结果提升明显,拦截模式qps达到16000,转发模式为8000。

BIND是采用C写的,难道Java比C有天生的劣势?忽然想到HotSpot虚拟机都是运行一段时间会变快的,于是尝试多次测试,发现拦截模式qps达到30000。看来Java在工作时间变长之后,性能劣势就并非那么明显了。

benchmark的优秀滋生了将BlackHole做成一个通用DNS服务器的野心。这是一个很宏伟的目标,涉及到DNS协议完全分析、缓存机制、UDP协议分析等。是个很有前途的目标,come on!

你可能感兴趣的:(dns,BlackHoleJ)