It is difficult to create response time prediction for a web application and even more difficult to judge how performance best practices can help the end-user experience. The goal for any web application should be to load quickly for users from any region using an empty cache. neXpert is an add-on to Fiddler Web Debugger which automates the classic web performance checks and creates a HTML report outlining all potential issues found in the capture. Through a partnership with Microsoft Research, neXpert uses a TCP model to create response time predictions for user defined latencies for both the website in its current state as well as after certain performance best practices are implemented. The TCP model used was developed by Neal Cardwell, Stefan Savage and Thomas Anderson in the paper Modeling TCP Latency and adapted by Microsoft Research. The goal is for engineers to get an immediate idea of how certain changes can improve their web application.
While some developers may know performance best practices, there is currently no way to find out how they can help the performance of page without actually implementing them and taking measurements. Predicting response times for users in different regions is also a very involved process which usually requires a network capture (Wireshark or NetMon) of the interesting traffic and then the use of another program or setting up a network emulation proxy and taking measurements.
neXpert provides users not only with an informative report of all the performance issues found, but creates response time predictions for the application in its current state as well as once certain best performance best practices are implemented. The key to neXpert is allowing the user to create steps within a Fiddler capture to define how objects are associated (steps in a user scenario). Using these associations, neXpert can then apply logic to search for performance issues. Finally, by using the file size and server processing time for each object, a TCP model created by Microsoft Research is used to predict a user’s response time based on the download behavior of specific web browsers. neXpert also has the ability to implement certain best practices against a capture and predict the improvement in response time.
The presentation at Velocity Conference would be a demonstration of neXpert as well as discussions on how it can be used effectively by performance engineers. The session will feature a walkthrough of neXpert features and demonstration of usage by testing preconfigured Apache/IIS web applications with injected web performance issues (e.g. no compression, redundant files, and excessive objects). During the session, I will talk about how neXpert can drastically decrease the amount of time for performance engineers to both identify performance issues as well as provide response time predictions. I will also touch on how the tool has been and can be used to convince developers of a web application to follow performance best practices. The session will be most valuable for a novice/intermediate audience.
Attendees will take away the ability to quickly judge the response time of their pages for global users and how following best practices will improve their end-user’s experience.
Eric Mattingly is a performance engineer in the Microsoft IT ACE Performance team, which focuses on Web application and SQL layers in order to identify and eliminate root-cause performance bottlenecks issues for Microsoft internal customers. The Ace Performance team also teaches developers the skills and techniques needed to produce reliable systems based on Microsoft IT’s internal process and best practices.
For information on exhibition and sponsorship opportunities at the conference, contact Sharon Cordesse at firstname.lastname@example.org
Download the Velocity Sponsor/Exhibitor Prospectus
For media-related inquiries, contact Maureen Jennings at email@example.com
To stay abreast of conference news and to receive email notification when registration opens, please sign up for the Velocity Conference newsletter (login required)
View a complete list of Velocity contacts