Emerging of new technologies or changes in existing technologies always bring new challenges in Performance testing. This time around we have evaluated tools & extracted some useful information that can help in conducting performance testing of challenging technologies such as Socket applications & Video streaming.
We continue to support our community with useful tips & knowledge base. Keep exploring more on performance testing with our quarterly performance testing newsletter.
“Discovering the unexpected is more important than confirming the known.”
- George E. P. Box
WAPT has released its new version WAPT Pro 4.7 / WAPT 9.7 which is loaded with following new features:
- Support for WebSocket testing
- Support for PeopleSoft application testing
- Automatic parameterization of access tokens for OAuth 1 and 2
The Apache JMeter 3.2 has been released with following new features:
- Provides BackendListener implementation that interfaces InfluxDB
- DNS Cache Manager now has a table to allow static host resolution
- JMS Publisher and Subscriber now allow reconnection on error with pause
- Report/Dashboard improvements
- UX improvements
Tools Evaluated By Team
- This tool-kit helps in load testing of chat applications
- Supports multiple protocols (HTTP, WebSocket and Socket.io)
- Very useful for execution of heavy load on moderate systems due to low resource utilization
- Provides intermediate stats every 10 seconds during test run
- Provides detailed performance metrics (latency, requests per second, concurrency and throughput)
- It generates execution reports in JSON format which can be converted to HTML using any external utility
- Support integration with Datadog, Librato, InfluxDB for reporting metrics
- Extensible with custom reporting plugins, custom protocol engines etc.
- Easy to reproduce realistic scenario for different kind of users:
- Lurkers: They mostly receive messages from others & may send the occasional message
- Mostly-quiet users: They stay quiet most of time but get engage now and then
- Chatty users: Who send lots of messages
- Provides plugin for JMeter tool to load test video streaming
- Supports Adaptive Bitrate Streaming technique to switch between higher & lower resolutions automatically depending upon the network strength
- Only need to provide the URL of the manifest file and it auto-detects the video format
- It’s a good approach to test the video streaming in different network options such as LTE, HSPA etc.
- Important metrics provided by the plugin to measure video streaming performance:
- Download Time: Time to download the video chunk on host
- Connect Time: Time to connect to server for Video Chunks
- Lag Time: Total Wait time while watching the video
- Buffer Fill Time: Time spent filling in the buffer when the video is first started
- Lag Ratio: Waiting time over watching time
Best Practices to load test video streaming
- Perform testing for different devices (different adaptive streaming technologies and different screen resolutions) & different network conditions
- Include scenarios for running several different video files at the same time using different players
- Attempt to reproduce the scenario for running several live programs at the same time
- Attempt to reproduce the realistic scenario of fast-forwarding & go directly to a specific moment in the video
- Include scenario for choosing subtitles, language etc that will generate relevant load on your application
How HTTP/2 is useful in enhancing website performance
- Data transfer through single connection: Can share data on a single connection throughout a session
- Header compression: Headers in case of HTTP/2 are rather compressed than that in case of HTTP/1.x thus improving webpage loading speed overall
- Efficient parsing: Being a binary protocol HTTP/2 can be parsed more efficiently hence resulting in being less error provoking
- Multiplexing approach: This helps in reducing latency by allowing multiple requests and response messages over one connection at the same time, also allowing parts of messages to be merged with one message while transfer
- Server Push technology: This allows a server to send necessary resources (like JS, CSS) to a web browser before the browser gets to request them; it helps websites to load faster
Notably, 13.7% of the top 10 million websites supported HTTP/2 as of May 2017.
We would love to hear your feedback, questions, comments and suggestions. This will help us to make Perfcast better and more useful next time.
Share your thoughts and ideas at firstname.lastname@example.org
The logos used in this post are owned by the individual companies of each logo or trademark. The logo is not authorized by, sponsored by, or associated with the trademark owner, but QASource is using the logos only for reviewing purposes. The endorsement of the used logos by QASource is neither intended nor implied.