-
Notifications
You must be signed in to change notification settings - Fork 52
Infrastructure performance
shaun0x00 edited this page Oct 30, 2014
·
1 revision
TODO
- test performance of the infrastructure (software and hardware)
- optimize setup (resource allocations, software tuning)
- evaluate limits (maximum web visitors, maximum number of simultaneous games) and performance metrics (latency) to evaluate the infrastructure cost of a player
- locate under performing code and find remediation
- website - simulate typical visitors and players
- SOAP services
- content downloads??? Discuss: do we make this part of the test?
- interaction with zk infrastructure through lobby (nightwatch, springie)
- uberserver??? Discuss: do we make uberserver part of the test?
- server(s)
- client machine(s)
- informations
- separate uberserver (ideally co-located with the real one, so latency matches)
- zk server should have all required software (as in, ready to operate and accept players)
- it should be possible to deploy new builds of zk-infra easily to test performance tweaks
- it must be easy to test with different datasets
- an empty database (as empty as it makes sense)
- a copy of the current database
- a much larger dataset, that realistically matches targeted number of players (that dataset may either be "generated" or produced through simulated user activity)
- tools to simulate http interactions, various options:
- ab http://httpd.apache.org/docs/2.2/programs/ab.html
- custom software (my zk website scraper or anything that can simulate players)
- tools to simulate lobby interactions:
- custom basic tcp client?
- custom lobby client?
- existing lobby bot?
- puppetize an existing lobby?
- maybe expect can still be useful
Best case: we can manage to benchmark during a server migration, we can take 1 or 2 weeks to benchmark and optimize the platform *before* the users come in.
- Gather data regarding website visitor pattern
- Setup server, prepare datasets
- Write client tools, prepare benchmark scripts
- Discuss monitoring of server, during and after the benchmark