-
Notifications
You must be signed in to change notification settings - Fork 17
Home
The goal of this bundle is to provide a unified way to lock a down a web site. Mainly this bundles provides two ways to lock the website down, the hard lock and the soft lock. The hard lock uses web server strategies instead the soft lock that runs at the web application layer.
We provide a couple of commands:
app/console corley:maintenance:lock
app/console corley:maintenance:soft-lock
The first lock the website using the web server strategies, instead the second one lock the application using symfony2 events.
- Lock using web-server strategies (hard lock)
- Lock using application strategies (soft lock)
- Possible configurations
The hard lock works at web-server level, that means that the application can be broken during an upgrade or not available at all because all requests are routed to a static html file. A simple load test during the maintenance shows something like this (at 100 concurrency level):
Concurrency Level: 100
Time taken for tests: 11.382 seconds
Complete requests: 100000
Failed requests: 0
Write errors: 0
Non-2xx responses: 100000
Total transferred: 148500000 bytes
HTML transferred: 122000000 bytes
Requests per second: 8785.70 [#/sec] (mean)
Time per request: 11.382 [ms] (mean)
Time per request: 0.114 [ms] (mean, across all concurrent requests)
Transfer rate: 12740.98 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 3 1.9 3 8
Processing: 1 9 4.1 8 156
Waiting: 1 7 2.7 7 79
Total: 1 11 3.8 11 159
Percentage of the requests served within a certain time (ms)
50% 11
66% 12
75% 12
80% 12
90% 13
95% 14
98% 18
99% 24
100% 159 (longest request)
The soft lock runs at the application level, that means that the application must works otherwise the lock can not runs at all. Additionally the soft lock engage the framework and that means during a test something like (at concurrency level 5):
Concurrency Level: 5
Time taken for tests: 57.897 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 4455000 bytes
HTML transferred: 4120000 bytes
Requests per second: 17.27 [#/sec] (mean)
Time per request: 289.487 [ms] (mean)
Time per request: 57.897 [ms] (mean, across all concurrent requests)
Transfer rate: 75.14 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 1
Processing: 213 289 52.0 279 635
Waiting: 199 271 50.1 261 575
Total: 214 289 52.0 279 635
Percentage of the requests served within a certain time (ms)
50% 279
66% 301
75% 313
80% 322
90% 354
95% 389
98% 434
99% 473
100% 635 (longest request)