Confirmed users
487
edits
Rpappalardo (talk | contribs) (Update to TEST #3) |
Rpappalardo (talk | contribs) (Add loadtest notes) |
||
| Line 52: | Line 52: | ||
Stage: | Stage: | ||
* | * shavar.stage.mozaws.net - e2e test URL | ||
* tracking.stage.mozaws.net - diary study URL | |||
* tracking-protection.stage.mozaws.net - CDN for lists | * tracking-protection.stage.mozaws.net - CDN for lists | ||
* ckshavar.stage.mozaws.net - loadtest URL | * ckshavar.stage.mozaws.net - loadtest URL | ||
| Line 90: | Line 91: | ||
'''Stack Check''' | '''Stack Check''' | ||
* Verify that AWS stack has correct instance size, has correct version deployed, is routed correctly, etc. | * Verify that AWS stack has correct instance size, has correct version deployed, is routed correctly, etc. | ||
'''Loadtesting''' | |||
* Once a stack has been deployed and verified, shavar server can be loadtested to ensure that a release is scalable. | |||
* Instance sizing should be performed to identify ideal size to withstand maximum load while maintaining cost-effectiveness of deployment | |||
* Shavar server should only be loadtested in staging environment | |||
'''List Delivery and Creation Test''' | '''List Delivery and Creation Test''' | ||
| Line 99: | Line 107: | ||
* do cache file sanity checks ([[#TEST_.230:_verify_downloaded_.28cached.29_moztestpub_list_files|TEST #0]]) | * do cache file sanity checks ([[#TEST_.230:_verify_downloaded_.28cached.29_moztestpub_list_files|TEST #0]]) | ||
* Verify that blacklist and whitelist updates get properly delivered to client | * Verify that blacklist and whitelist updates get properly delivered to client | ||
| Line 155: | Line 160: | ||
[[#top]] | [[#top]] | ||
== Loadtesting == | |||
'''SUMMARY''' | |||
Shavar server can be loadtested using a tool like [https://github.com/mostlygeek/beeswithmachineguns/ beeswithmachineguns] or [https://github.com/JoeDog/siege seige]. | |||
'''EXAMPLE''' | |||
<code> | |||
siege -b -i -v -c 1000 -r 1000 'https://<shavar-stage-url-here>/downloads?client=LOADTEST&appver=36.0a1&pver=2.2 POST < blist.txt' | |||
</code> | |||
* Increase -c and -r from 10 -> 100 -> 500 -> 1000 | |||
* Monitor the server resources (cpu, memory, network, disk) | |||
* Verify the server can handle the load you are applying | |||
* Once you reach 60% on any one of those resources, halt test | |||
** note: that is considered 'safe' to account for any spikes/fluctuations that may increase things to 100% usage | |||
** Whatever number of requests per second (RPS) being sent at 60% threshold = amount of load the stack can safely handle | |||
[#top] | |||
== List Delivery & Creation Tests == | == List Delivery & Creation Tests == | ||