Performance testing and tuning is something that, even when not the immediate priority, is always sitting in the back of one’s mind. Will the code perform well? Will the server process it efficiently? Is the web server running in the way it should be? The questions go on and on. Early this year, a few key gems emerged on the performance front. However, before jumping into the short list, I also want to highlight two performance-related projects and new releases.
metrics on JVM & ported metrics on Node.js
One of the popular areas in the performance tuning and analyzation space is building and determining performance for API services. The Dropwizard organization (℅ Coda Hale @coda) has done a stellar job putting together a Java library for building RESTful API services and also doing performance testing against API services. This in turn can be used against any API services that one would want to test. But for those that want a Node.js port? That’s available, too, thanks to Mike Ihbe (github: @mikejihbe).
The pending Node.js v0.12 release
In Node.js v0.10 the TLS module is loaded on top of the netmodule and encrypts and decrypts network traffic. But in v0.12, TLS is rewritten to use libuv directly, removing intermediate layers.
- Crypto with v0.12 is going to expand the usage of assembly versions. This will utilize the CPU more readily for ciphers, giving them a boost—sometimes a huge boost—in performance.
- Garbage Collector is reducing the number of persistent handles, also known as a strong reference, to objects in V8 heap. This will provide easier-to-collect objects and remove them to free up resources.
- Cluster Support in v0.12 is going to a default practice of round-robin. This will address the issue of v0.10 loads often being distributed unevenly, causing odd workload balances.
Now for the roundup of some recent blog posts on performance tuning and analyzation:
- Helpful lessons learned tuning TCP and Nginx in EC2 here and here.
- 14 tips for performance tuning ASP.NET, along with 5 tools to analyze performance.
- A 15-minute brain dump of performance tuning tips for Java.
Until next roundup, happy performance tuning!