Pecunem: Online Auction Platform

Development of an independent auction software

About the project

Pecunem is a service provider for numismatic companies that sell rare coins and medals. Pecunem Perf is a web-based tool intended for testing the Pecunem online auction platform under high loads.

Solutions

Push-Only Solution

Leveraging capabilities of the Atmosphere Framework for delivering information about lots to web clients allows us to significantly reduce the number of consumed sockets, and therefore to increase the maximum number of users that can simultaneously browse the website.

Testing Atmosphere Streams

The Pecunem Perf testing tool allows us to open a number of Atmosphere connections using one of the four transport types – WebSockets, SSE, HTTP streaming, or long-polling. The data received from the server is analyzed and displayed in real time.

Load Testing with Gatling

Another module of the testing tool is built using Gatling. It’s designed to allow us to launch two different scenarios to simulate navigation through the website and competition in bidding for lots. The scenarios can be executed together or separately and emulate any number of virtual users.

Response Time Metric

The two key modules of the testing tool work together to produce a response time metric which measures the average time elapsed between placing a bid by a user and the actual approval of the bid by the system.

SSH Metric

The SSH metric enables us to specify a command to be executed via SSH on the server under testing, which can track the number of opened sockets or the state of other system resources during the execution of test simulations.

Technologies

Play

Scala

Atmosphere

Client feedback

“Before we started working with SysGears, we were concerned that outsourcing our project would be risky and that communication could be difficult. On the contrary, we found that SysGears is competent, flexible, and has a culture of excellent and consistent communication – the perfect ingredients for successful collaboration.”

A.J. Gatlin