Challenge Overview
Backgroud
Recently in production, we are keeping seeing problems of performance degrade in production. The problem usually happens right after SRMs, when members flood problem archive and match editorials with traffic. We think the problem is the problem archive, specifically looking for the srm, looking at stats, viewing the problems, and viewing the solutions.
Scope
Important Notice
Don't do a big threading testing at first, we don't want you to crash the dev environment, just showing the response times is become slowly when the threading increased is enough.
For this challenge, we'd like to create multi-threaded application that can simulate requests to those pages, using simple HTTP components and measure response times giving out an average of the response time over time. We will provide the dev environment for testing since it have full data similar as production. You can hit https://www.topcoder-dev.com/tc?module=ProblemArchive to test.
Following are the basic requirements for your mult-threading application:
- We need to be able to control how many threads should run, this should be a config variable or a program argument
- The application should randomly access lots of different data, which is important for problem reproducing,
the applciation should randomly pick these srms and do:
-
open random SRMopen random problemopen random solutionopen distribution graph
-
- if you need a list of ids, you can request in forum, so we can provide these as you request.
- Provide a report about your testing against dev environment about number of threading and average response, it will be great, if you can make it automated generated, but not a must.
About Expected Testing Environment
We are expecting to run your tool under Ubuntu Linux without GUI, so please consider that, when making your choice. One candidate is JMeter, but you can make your own selection for tool and language since the requirements meets.
Final Submission Guidelines
- Complete source code for multi-theading testing application.
- Deployment and Testing Guide