गतिशील पृष्ठों के लिए अनुक्रमिक परीक्षण के मामले

इस अध्याय में, हम विभिन्न संयोजनों का वर्णन करेंगे -n तथा -c धीरे-धीरे अपने वेबसर्वर पर लोड बढ़ाने के लिए महत्वपूर्ण झंडे के साथ।

आपको मुख्य रूप से इस बात पर ध्यान देना चाहिए कि लोड बढ़ने पर निम्नलिखित मेट्रिक्स कैसे बदलते हैं -

  • प्रति सेकंड अनुरोध
  • कनेक्शन टाइम्स (एमएस)
  • एक निश्चित समय (एमएस) में दिए गए अनुरोधों का प्रतिशत

आपको थ्रेशोल्ड मान के लिए भी ध्यान देना चाहिए जब सर्वर अटकना शुरू हो जाता है और आपको असफल अनुरोध मिलने लगते हैं।

1 समवर्ती उपयोगकर्ता 100 पेज हिट कर रहा है

आइए हम एक उपयोगकर्ता द्वारा 100 अनुक्रमिक पृष्ठ-लोड करते हैं -

$ ab -l -r -n 100 -c 1 -k -H "Accept-Encoding: gzip, deflate"  http://127.0.0.1:8000/

उत्पादन

This is ApacheBench, Version 2.3 <$Revision: 1604373 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 127.0.0.1 (be patient).....done


Server Software:        Rocket
Server Hostname:        127.0.0.1
Server Port:            8000

Document Path:          /
Document Length:        Variable

Concurrency Level:      1
Time taken for tests:   0.045 seconds
Complete requests:      100
Failed requests:        0
Non-2xx responses:      100
Keep-Alive requests:    0
Total transferred:      27700 bytes
HTML transferred:       6600 bytes
Requests per second:    2206.24 [#/sec] (mean)
Time per request:       0.453 [ms] (mean)
Time per request:       0.453 [ms] (mean, across all concurrent requests)
Transfer rate:          596.80 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:     0    0   0.0      0       0
Waiting:        0    0   0.0      0       0
Total:          0    0   0.0      0       1

Percentage of the requests served within a certain time (ms)
  50%      0
  66%      0
  75%      0
  80%      0
  90%      1
  95%      1
  98%      1
  99%      1
 100%      1 (longest request)

5 समवर्ती उपयोगकर्ता प्रत्येक कर रहे हैं 10 पृष्ठ हिट्स

यह मामला एक वेबसाइट पर एक पीक लोड से मेल खाता है, जो एक महीने में लगभग 50,000+ हिट हो जाता है।

$ ab -l -r -n 10 -c 5 -k -H "Accept-Encoding: gzip, deflate"  http://127.0.0.1:8000/

बाद के आउटपुट में, हम स्पष्टता के उद्देश्य के लिए सामान्य हेडर को छोड़ देंगे।

उत्पादन

...
Requests per second:    2009.24 [#/sec] (mean)
Time per request:       2.488 [ms] (mean)
Time per request:       0.498 [ms] (mean, across all concurrent requests)
Transfer rate:          543.52 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1   0.5      1       2
Processing:     0    1   0.5      1       2
Waiting:        0    1   0.5      1       1
Total:          2    2   0.4      3       3
ERROR: The median and mean for the total time are more than twice the standard
       deviation apart. These results are NOT reliable.

Percentage of the requests served within a certain time (ms)
  50%      3
  66%      3
  75%      3
  80%      3
  90%      3
  95%      3
  98%      3
  99%      3
 100%      3 (longest request)

10 समवर्ती उपयोगकर्ता प्रत्येक 10 पृष्ठ हिट करते हैं

यह परीक्षण 10 अलग-अलग समवर्ती उपयोगकर्ताओं द्वारा 100 पेज लोड से मेल खाता है, प्रत्येक उपयोगकर्ता 10 अनुक्रमिक पेज लोड कर रहा है।

$ ab  -r -n 10 -c 10 -k -H "Accept-Encoding: gzip, deflate"  http://127.0.0.1:8000/

उत्पादन

...
Requests per second:    2225.68 [#/sec] (mean)
Time per request:       4.493 [ms] (mean)
Time per request:       0.449 [ms] (mean, across all concurrent requests)
Transfer rate:          602.07 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1    2   0.7      2       3
Processing:     0    2   1.0      2       3
Waiting:        0    1   1.0      2       3
Total:          4    4   0.3      4       4
WARNING: The median and mean for the waiting time are not within a normal deviation
        These results are probably not that reliable.

Percentage of the requests served within a certain time (ms)
  50%      4
  66%      4
  75%      4
  80%      4
  90%      4
  95%      4
  98%      4
  99%      4
 100%      4 (longest request)

20 समवर्ती उपयोगकर्ता प्रत्येक कर 20 पृष्ठ हिट करता है

यह परीक्षण 20 अलग-अलग समवर्ती उपयोगकर्ताओं द्वारा 400 पेज लोड से मेल खाता है, प्रत्येक उपयोगकर्ता 20 अनुक्रमिक पेज लोड कर रहा है।

$ ab -r -n 20 -c 20 -k -H “Accept-Encoding: gzip, deflate” http://127.0.0.1:8000/

उत्पादन

...
Requests per second:    1619.96 [#/sec] (mean)
Time per request:       12.346 [ms] (mean)
Time per request:       0.617 [ms] (mean, across all concurrent requests)
Transfer rate:          438.21 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        2    6   2.3      6      10
Processing:     1    5   2.9      5      10
Waiting:        0    5   2.9      5       9
Total:         10   11   0.6     11      12

Percentage of the requests served within a certain time (ms)
  50%     11
  66%     11
  75%     12
  80%     12
  90%     12
  95%     12
  98%     12
  99%     12
 100%     12 (longest request)

30 समवर्ती उपयोगकर्ता प्रत्येक 30 पृष्ठ हिट करते हैं

यह परीक्षण 30 अलग-अलग समवर्ती उपयोगकर्ताओं द्वारा 900 पेज लोड से मेल खाता है, प्रत्येक उपयोगकर्ता 30 अनुक्रमिक पेज लोड कर रहा है।

$ ab  -r -n 30 -c 30 -k -H "Accept-Encoding: gzip, deflate"  http://127.0.0.1:8000/

उत्पादन

...
Requests per second:    2283.45 [#/sec] (mean)
Time per request:       13.138 [ms] (mean)
Time per request:       0.438 [ms] (mean, across all concurrent requests)
Transfer rate:          617.69 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        2    6   2.7      6      11
Processing:     1    6   3.1      6      11
Waiting:        0    5   3.2      5      10
Total:         11   12   0.5     12      13

Percentage of the requests served within a certain time (ms)
  50%     12
  66%     12
  75%     12
  80%     12
  90%     13
  95%     13
  98%     13
  99%     13
 100%     13 (longest request)

हमने अब सीखा है कि वेबसाइट पर धीरे-धीरे लोड कैसे बढ़ाया जाए और इसके प्रदर्शन का परीक्षण करें।