This is quite a list of open source performance testing tools. While there are definitely some excellent products on this list, there are also many (perhaps most) which fall into the category of poor to mediocre. As is the case with any open source category, these were developed by programmers who generally develop something for their own use, without documentation and very specific application. The most popular according to this page are:
- Apache JMeter
- OpenSTA
- WebLOAD
A waterspout tornado forming due to cool weather over the sea.
The Keynote Internet Testing Environment is a highly flexible and efficient framework for testing the integrity of web services. Although KITE does not perform load testing, it allows a software engineer to craft detailed test scenarios without having to dedicate significant time to programming. With its easy to use transaction builder, engineers can step through a web application as a real user would, recording their interaction with the server. This interaction, or “transaction” as it is called in KITE, can later be automatically invoked for testing purposes.
InformationWeek reported yesterday that Microsoft is coming out of the closet with their new “Cloud OS”. It is a version of Windows supposedly written from the ground up for this platform.
In April of 2000, we were releasing the beta version of LearnCentrix. Alltel Corp. was our first client, and we had designed the system to their requirements. I remember the VP of Training asking me, “How many of our employees can be logged on at the same time?” Good question.
I thought about it and gave an accurate, yet indefensible, answer: “There is no system limit.” While I knew that we had no concurrent user restrictions in the code, and there were no configuration settings to enforce a contractual cap, I really had no idea what the practical limit would be.
UPDATE 12/21/2011: LoadStorm has a user agent = “LoadStorm” to allow testers to identify traffic from our load testing tool. In LoadStorm 2.0, we will provide a way for you to make the user agent whatever you wish because several customers have asked to control the setting.
When Microsoft came out with their new platform of .NET architecture, they realized that scalability was a major factor for business organizations looking for strong, performance based applications that could handle a large amount of user interface. .NET scalability has several factors although the Microsoft framework technology has created plenty of advances that improve performance in any application whether it is web forms or window’s forms.
As an automated testing suite, Borland SilkPerformer boasts a broad range of features that are designed to minimize time to market and testing costs. SilkPerformer is engineered to work with a variety of environments, including web services, Java, .NET, COM, and many others.
Most of my time at CustomerCentrix has been spent developing the LoadGenerator portion of LoadStorm. When I began the project, my knowledge of the Java programming language was poor and rusty. However, I believe I have learned much more than just Java language specifics, but also I believe I have learned more important things about the software development process. Reorganization and code clean-up add readability and reuse-ability to the code. This was supported by the fact that I had to interact with other developer’s libraries (HtmlUnit, JBehave, HttpClient, Ant, and log4j).
During the design and creation of LoadStorm, it became apparent that a standardized communications framework would have to be used. In other words, creating a syntax of HTTP requests would be a necessity to proper work flow. Fortunately, there were a number of generally well-known commands as described by the Selenium program interface.
For large companies, load balancing is an important feature to use to increase performance. Large companies with the available resources will use web farms. Web farms give your applications the ability to use multiple servers for resources more commonly known as pooling resources. Load balancing helps distribute user requests through a dispatch application that redirects to the different web farm servers.
If your web server is starting to lose performance and resources are lacking, it may be time to implement a web farm. A web farm will pool sources and allow your web server to share its resources with another high powered machine. It can greatly increase web form performance and rid some of the end user frustration of timeouts and slow responses.
Microsoft SQL Server 2000 and Microsoft SQL Server 2005 do not inherently support load balancing out of the box like most information technology experts might think. They have intrinsic tools that allow for scalability and load balancing, however, they do not have the defined load balancing functions that are commonly known among network administrators. Instead, Microsoft SQL Server 2005 comes with some tools to help with scalability and performance for your enterprise organization.
Microsoft Clustering Services (MSCS)
Google Apps (previously Apps for your Domain or AFYD) and Gmail has been down for some users over the past day. We have not been affected, but apparently some are having an extended outage with 502 errors.
I am curious about whether the affected users are “Premier” customers who have paid for the service. Also, the reports say that the gmail web client is down, but they do not say anything about IMAP, POP, SMTP services are working.
Quality control is an important aspect of software development. Many small software shops skip the importance of hiring a QA department with the attitude that it is cheaper and not needed. The fact is that software development relies heavily on a good quality analysis department to find unforeseen defects. QA departments are often seen as the enemy in a programming department, but QA can greatly help a development team by finding production bugs.
When designing a web architecture, it is crucial that the server be capable of handling heavy loads. While this is an important requirement of any web design project, it is also difficult to perform realistic testing with human users. The sheer number of users and machines needed to provide a realistic test make such manual methods prohibitive. This is where utilities such as JMeter step in, making such “load testing” possible without legions of volunteers.
LoadStorm is in essence an intentional owner-generated denial-of-service. Clearly, this tool could be abused if every user was allowed to create storms on any domain they chose. However, a user may like to try the services offered by LoadStorm before purchasing an extensive use package. There are two profiles a user can be granted access under.
In many high end production environments, it is simply impossible to perform realistic load testing manually. Such testing, however, is a crucial task that must be performed to ensure that a product is ready for live production situations. To solve staffing and hardware limitations, Hewlett Packard offers LoadRunner as a testing and performance analysis tool.
RSpec is a tool produced with the intent of making use case testing simpler in Ruby. Traditional Ruby on Rails unit testing can become complicated and hard to manage when working with a large project. The harder the testing becomes, the more time that unit testing consumes. With RSpec, however, testing scenarios are put in simpler terms and the Ruby code to do the test is generated automatically. This can do wonders to simplify unit testing.
PushToTest is a tool for performing load testing. The project is open source and written mostly in Java from what I noticed. The source is available online at cvs.pushtotest.com/var/cvsroot. However, the license stipulates that the free binary and source are only to be used with a max of 10 virtual users, developers requiring more users must pay some sort of licensing fee to PushToTest. PushToTest provides a modified version of TestGen4Web with its source.