为了改进涉及IO操作的Node.js应用的性能,你应了解CPU周期的使用情况,更为重要的是知道妨碍应用高度并行的症结所在。
我在关注改进Apache Cassandra的{aa63aa}的整体性能时,对此问题有了一些洞悉,并以此文分享出来,力图总结可导致应用吞吐量降级的最为重要的症结。
Node.js使用的JavaScript引擎V8将JavaScript编译成机器码,并以原生代码运行。为尽量达到{aa62aa},V8引擎使用了三个组件:
通常优化编译器能达到最好的性能,但是并未选取全部JavaScript代码做优化,即存在被优化编译器拒绝优化的代码模式。
对于那些不能被V8优化但是或许有变通方案的代码模式,你可以{aa61aa}作为工作指南找出他们。下面列出部分例子:
来源: http://www.infoq.com/cn/articles/node-micro-optimizations-javascript