TMCnet Feature Free eNews Subscription
August 14, 2012

Validating the Performance of a Facebook App: Always a Must-Do

By TMCnet Special Guest
Alon Girmonsky, Founder and CEO, BlazeMeter

Facebook (News - Alert) has created a phenomenal platform for third-party applications, with the promise of huge success. But this promise itself poses its own fresh challenges, primarily as a result of large and rapid rises in user numbers.



As Facebook apps must cope with an increasingly unprecedented volume of traffic at very high speed, developers must be confident that their apps can handle it. Such a new challenge requires a new solution.

General Websites vs. Facebook Apps

Regular websites typically don’t expect a random influx of traffic. Rather, they handle a constant load of traffic that varies according days of the week or weekends, months of the year, seasonally and other promotional events.

In general, aside from pre-defined events, such websites’ owners might be able to simply monitor their website performance and deal with poor levels of performance as they happen. Once higher volumes must be considered, this ad hoc approach isn’t recommended.

After all, what will you do if you do find an issue in real time that causes you to doubt your architecture? You can:

  • Pray to the application gods that by adding another server, closing your eyes and hoping for the best your database and application will ‘magically’ scale up.
  • Be the coach with the most. Convince yourself that your app cannot possibly fail, because in the past you have practiced load testing on a small scale and this much larger app should work the same way. Go team.
  • P.T.I.F. Pretend that it’s Friday. Who worries on the weekend? Whatever happens, happens.

Failure to launch? Obviously.

These are all terrible ideas and shockingly, the choices made by many. Unfortunately, these choices seriously threaten the future success of any apps that anticipate such volumes, because they don’t meet today’s needs to handle high volume testing.

Coping with a New Paradigm

Campaigns on Facebook are often the crown jewel in an expensive marketing campaign because Facebook represents the land of unlimited opportunities for marketers. Not only do they have access to a vast audience, but the time to reach this audience has been slashed, especially when campaigns go viral.

This is the “holy grail” for marketers, but they must be careful what they wish for, because with they need to protect their success. It’s critical that their campaigns can capture and process all visitors and users, but all the traditional tools to validate such levels of performance and success are insufficient.

So what’s the solution with high volume Facebook apps? You must validate your app performance level beforehand.

Be Impervious to Failure

So you’ve created a killer app for Facebook and you know that it must perform well under a high volume load. You’re confident it’s going to fly. After all, you sweated to develop this application. It wasn’t easy. It was expensive and time consuming. You don’t want this time, expense and effort to go to waste, so you’ve got to be sure it works as effectively as possible. No option. You’ve got to validate it thoroughly.

Validation means making sure the expected service level will be high-quality, fast and perhaps most importantly, consistent. Load testing offers the best and only way to guarantee this. Put simply, create a realistic simulation that represents the load scenario expected during peak hours, generating intelligence, identifying issues and bottlenecks and fixing them and testing again and again in short iterations until you are confident in your app’s performance.

This requires some essential elements. First you need the scripting capability to simulate real users, real browsers and real load scenarios. Then you need the capacity to scale the simulation to the expected level of traffic load, while keeping the realistic features intact.

After this you need reporting that provides the full gamut of reliable intelligence, otherwise the entire test is a waste of time and resources. Tests must be run on tens of thousands of simulated, concurrent users. These tests must be run over and over again while ramping up the load, locating all bugs, and resolving them prior to launch.

Skip the above steps, and you can be assured that realistic scripting, Facebook scaling, reporting and fast time to test will simply not do the job properly, and you can expect problems.

Beware of Shortcuts

Despite what some may say, there aren’t any shortcuts to effective load testing and validation. Doubtless you’ve heard various trendy cloud-related keywords about emerging technologies. Certainly, these new cloud technologies can help build a scalable architecture, but you cannot rely solely on them, because their behavior depends heavily on the configuration and MUST be tested and validated under various scenarios.

In short, you cannot be sure of the performance level you are getting unless you test and validate. You must make sure you reach the desired performance level and should have access to tools that provide you with this capability.

Perhaps you lack the tools to actually test the expected high volume, so you try testing a unit of the infrastructure and extrapolate the behavior during run-time. But this is just an educated gamble. It will increase your comfort level, but it simply does not provide adequate validation.

Do it right. Do it properly. Do it well.

As with weight loss, where one must adhere to the old adage of “eat less, exercise more” to see real results, if trustworthy load testing is what you need, there are no gimmicks or tricks – no “fad diets.” You must do it thoroughly and methodically.

When load testing, this means you need to simulate a real browser, a real user and a real scenario that simulates what a high volume load would be in real time. 

Alon Girmonsky founded BlazeMeter, the load testing cloud, February 2011 and serves as CEO. Alon brings over 20 years of technological expertise and innovation to the creation of BlazeMeter, an easy to use JMeter load and performance testing cloud for developers and QA professionals. Prior to founding BlazeMeter, he served as the CTO of Taldor and Co-Founder and VP R&D of iWeb. Prior to that, Alon served as an engineering officer in the IDF intelligence unit. Alon’s proficiency is in building enterprise grade internet applications.




Edited by Braden Becker
» More TMCnet Feature Articles
Get stories like this delivered straight to your inbox. [Free eNews Subscription]
SHARE THIS ARTICLE

LATEST TMCNET ARTICLES

» More TMCnet Feature Articles