Services/TrackingProtection/Shavar Server - Testing: Difference between revisions

Jump to navigation Jump to search
Add loadtest notes
(Update to TEST #3)
(Add loadtest notes)
Line 52: Line 52:


Stage:
Stage:
* tracking.stage.mozaws.net - e2e test URL
* 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
'''Loadtesting'''
<pre style="color: red">TBD</pre>




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 ==
Confirmed users
487

edits

Navigation menu