在Linux内核版本2.6.32-279上面运行pgoneproxy时,当有200个客户端的并发时,会出现mutex_spin_on_owner函数占比很高的情况。而在2.6.32-573内核版本上面却看不到此函数的出现。说明这两个版本针对锁的方面有很大的优化。详细情况如下所示:
2.6.32-279版本的perf top情况:
2.6.32-573版本的perf top 情况:
这两个版本关于锁方面,最大的优化可能是前者具有big kernel lock (bkl),而后者没有这个锁了。并且在使用pgbench来测试时两者之间的差距会达到一倍的tps。故请使用pgoneproxy的同学,请把内核升级到2.6.32-573以及以上的版本。