Cloud-based load-testing service provider Load Impact has announced an automated Service Metrics Agent that lets developers detect, measure, analyze and predict server performance problems in their applications or websites.
Traditionally, when developers load-test their websites or applications over the Internet, they could only measure how fast the data came back from Web servers, according to Ragnar Lonn, founder and CEO of Load Impact. “But what we do now is we actually extract data from inside the system, from database servers that are behind the Web server, and we can see how they are also performing,” he said.
This is something that Lonn said developers haven’t been able to do before. The Service Metrics Agent automatically extracts performance data from developers’ servers, including database servers and any other type of servers from which they want to extract data. “And you will be able to plot that data in graphs together with the normal performance test data you get from running a load test,” he said. “You will be able to correlate how heavy a load your database server has and why you are stressing your website with a thousand concurrent users, for instance.”
Lonn said the Service Metrics Agent helps developers see how scalable their application or website is, which he added is something performance-monitoring solutions do not do. “A [performance-monitoring] solution will load a Web page with one single user and tell you how fast the Web page loads,” he said. “But you don’t know what happens when you get 1,000 users simultaneously trying to load the page.”
The Server Metrics Agent can be extended to test any other server function by adding plug-ins compatible with Nagios, an open-source IT infrastructure-monitoring tool for monitoring websites and applications. “Nagios has a very flexible plug-in architecture that allows you to write your own small programs to monitor whatever you want monitored,” Lonn said.
“We thought it would be excellent for us [to integrate with] because we can’t spend a lot of time writing code to extract data about all sorts of database servers and things. So, basically, you install our Service Metrics Agent, and then you can download any of the 3,000 or so Nagios plug-ins, using those to extract performance data about the hardware and software that you have.”
Traditionally, Lonn said that load testing fell on IT’s shoulders, but developers are now expected to take an active role in it. He said both IT and developers can use the Service Metrics Agent, but developers are more likely to be the heavy users in the future.
“Developers are the ones who set up the database schema; they’re responsible for structuring the database and using database indexes to speed things up and so on,” he said. “So if there’s a bottleneck in the database, it’s likely due to bad code.
“And so developers need to have a staging environment where they load-test in an environment that resembles the real-life environment as close as possible. And with the new continuous integration and continuous delivery movement, it’s becoming necessary to do this in an automated fashion as part of your nightly builds. Because once you’re in production, the only thing the operations people can do is add more hardware, and that’s usually an expensive and not-so-efficient way of improving performance.”