Wednesday, October 23, 2013

A server performance testing platform that is scalable, flexible and simple




    Loadrunner has long been the leading product as server performance/stress testing tool. It's flexible, supports lots of protocols and features. but it's also

  1. Not scalable - one unit only supports up to a 1,000 VUsers.
  2. Complex to use - one needs very good C programming background to take advantage of it.
  3. Expensive - one system emulating 1,000 VUsers may cost close to $92,000 for 500 VUser license.

    There are many other performance testing platforms in this area, but they are less flexible compared to Loadrunner and suffer from the same scalability limitation.   Netgend has created a new testing platform with breakthroughs in both scalability and flexibility.

  • Scalable - one system can emulate over 50,000 VUsers,
  • Flexible,
    • Complex parameterizations is made easy, 
    • Generates dynamic messages to send to server,
    • Processes server response in a very flexible and easy way,
    • Emulates any networking protocols, open or proprietary,
  • Simple to use - complex parameterizations are made easy on this platform.

The platform runs both in cloud and on hardware such as the following mini PC or a industry server.

The mini PC platform may look small, but it's powerful enough to bring a big server or server farm to its knees.

    Flexibility in client emulation comes from the fact that parameters (a.k.a variables within the scope of a VUSER) are built in.  You can use the value from a parameter and/or do operations on a variable directly.   No need to pull the parameters into code space and do some operations and (optionally) write it back to parameter as on other platforms.

   For example, the following code snippet can emulate many stations who send heartbeat info to master server.
 //javascript syntax is used on Netgend platform
 count = 1;
 stationId = getGlobalId(); 
 //global ID will start from 1, incremented by one with each call to this function.  
 while (1) {  
   send("heartbeat count ${count} on station ${stationId}");    
   count ++;  
   sleep(10000);  
 }  
     As shown in this example,  operation on variable "count" feels natural and creating a dynamic message is easy.

    There are lots of examples in the documentation and will come in future blogs.

    This platform is designed for those users who know some basic programming but don't have complex coding background like seasoned programmers/developers.  These users will be more productive on this platform than experienced programmers/developers on other platforms.

    For more details, please check out Netgend and sign up for free - the cloud based platform is free to use during beta period.

Disclaimer: I work for Netgend. 

No comments:

Post a Comment