13. Od którego momentu skalowanie nie jest
liniowe?
Sporządzamy wykres:
● na osi X - liczba req/s
● na osi Y - czas odpowiedzi
14. Skala na osi X musi być liniowa, inaczej
interpretacja wyniku będzie nieprawidłowa.
Skalowanie nie jest liniowe, kiedy wykres
przestaje być wykresem funkcji liniowej.
21. “Wysyłaliśmy tyle req/s i tak działało”.
Nadal nie mamy informacji, gdzie kończą się
możliwości skalowania.
Trzeba wykonać testy dla różnych (rosnących)
wartości obciążenia.
22. Produkcyjna tabela: 5mln wierszy,
testowa: 10k.
Tam - dysk, tu - RAM.
Ścisłe odtwarzanie środowiska produkcyjnego
jest trudne, ale nie można popadać
w skrajność.
26. ab -n 1000 -c 50 http://example.com/login
Server Software:
Apache/2.2.21
Server Hostname:
example.com
Server Port:
80
Document Path:
/login
Document Length:
12288 bytes
Concurrency Level:
50
27. Time taken for tests:
25.803 seconds
Complete requests:
1000
Failed requests:
0
Write errors:
0
Total transferred:
12748000 bytes
HTML transferred:
12288000 bytes
28. Requests per second:
38.76 [#/sec] (mean)
Time per request:
1290.133 [ms] (mean)
Time per request:
25.803 [ms] (mean,
across all concurrent requests)
Transfer rate:
received
482.48 [Kbytes/sec]
29. Requests per second:
38.76 [#/sec] (mean)
Time per request:
1290.133 [ms] (mean)
Time per request:
25.803 [ms] (mean,
across all concurrent requests)
Transfer rate:
received
482.48 [Kbytes/sec]
31. Sensowny document length? Błędy?
Jeśli n małe, to możemy dostać trochę
zafałszowane wyniki.
Na krótką metę zadziała, ale zaraz się udusi.
Czasem warto powtórzyć testy.
32. Może się okazać, że zamiast znaleźć punkt,
od którego wykres przestaje się skalować
liniowo, zaczniemy dostawać błędy.
To też jest znak.
33. ab -n 300 -c 20 http://example.com/login
Connection Times (ms)
min
mean[+/-sd] median
max
Connect:
34
38
5.2
36
71
Processing:
64
107
24.4
106
248
Waiting:
62
106
24.5
105
248
Total:
99
145
25.1
144
283
Teraz lepiej. Patrzymy na rps.