21 Mar Image Upload Performance Testing Tips
We recently dealt with a particular application where the ability to upload various-sized images was considered mission-critical. We were not given response time goals. The only requirement here was the maximum allowable size of the image would be 3 MB. Immediately, my “spidy-senses” began to tingle at the thought of the potential performance implications involved with this amount of throughput.
I decided to put the advantages of LoadRunner’s transaction and parameter functions to work on this endeavor. Adding a nested transaction that included the image size within the transaction name would give us with a set of transactions that provide corellated response time for each image size. The parameter ‘pUploadSize’ was linked to the parameter containing the image location in the properties of the parameter list (Figure 1). This transaction is in addition to the overall average times for all uploads provided by the transaction,“T01 ID Image Upload”.
Code Example:
lr_start_transaction(“T01 ID Image Upload”);
lr_start_transaction(lr_eval_string (“T01 ID Image {pUploadSize} Upload”));
Reviewing the initial set of test results, it was immediately clear there was a large gap in response time between the larger image sizes. The 3MB images were closing in on sixty-second territory!
Figure 1: Parameter List Properties
Figure 2: Before Code Optimization –Test with High Response Times
Figure 3: After Code Optimization –Improved Response Times
Reviewing the initial set of test results, it was immediately clear there was a large gap in response time between the larger image sizes. The 3MB images were closing in on sixty-second territory!
Armed with this evidence, we presented these results to the development team, who noted that code optimization would significantly improve both response times for larger images, as well as overall hardware utilization. Subsequent testing against later application versions showed vast improvement over earlier testing.
While this application had no requirements for the process of uploading a photo, including details like the maximum size of a photo the user may upload would reduce the risk of testing with smaller-sized images that potentially would have passed a response time requirement.