Įkelkite žiniatinklio serverių testavimą su apgulties palyginimo įrankiu


Norint planuoti savo svetainės ar programos augimą, būtina žinoti, kokį srautą jūsų tinklo serveris gali įveikti esant įtampai. Naudodami įrankį, vadinamą apgulties, galite paleisti serverio apkrovos testą ir sužinoti, kaip jūsų sistema veikia esant skirtingoms aplinkybėms.

Galite naudoti apgultį, kad įvertintumėte perduotų duomenų kiekį, atsakymo laiką, operacijų greitį, pralaidumą, sutapimą ir tai, kiek kartų serveris pateikė atsakymus. Įrankis turi tris režimus, kuriais jis gali veikti - regresija, interneto modeliavimas ir grubi jėga.

Svarbu: apgultis turėtų būti vykdoma tik prieš jums priklausančius serverius arba tokiuose, kuriuose turite aiškų leidimą išbandyti. Kai kuriose šalyse apgulties naudojimas neleistinose svetainėse gali būti laikomas nusikaltimu.

„Siege“ HTTP apkrovos testavimo priemonės įdiegimas sistemoje „Linux“

„Siege“ yra daugialypė platforma, kurią galima įdiegti naudojant „Ubuntu“/„Debian“ ir „CentOS/RHEL“ paskirstymus naudojant šias komandas.

Norėdami įdiegti „Siege“ sistemoje „Debin“/„Ubuntu“, galite paleisti:

$ sudo apt install siege

Jei norite naudoti „CentOS/RHEL“, turite įdiegti ir įgalinti saugyklą, kad galėtumėte įdiegti apgultį:

# yum install epel-release
# yum install siege

Arba galite sukurti apgultį iš šaltinio. Tuo tikslu turėsite įdiegti esminius kūrimo ir kūrimo paketus.

$ sudo apt install build-essential       #Ubuntu/Debian
# yum groupinstall 'Development Tools'   #CentOS/RHEL

Tada galite atsisiųsti „Siege“ naudodami komandą „wget“ ir įdiegti iš šaltinių, kaip parodyta.

$ wget http://download.joedog.org/siege/siege-latest.tar.gz
$ tar -zxvf siege-latest.tar.gz
$ cd siege-*/
$ sudo ./configure --prefix=/usr/local --with-ssl=/usr/bin/openssl
$ sudo make && make install

„Siege“ HTTP apkrovos testavimo priemonės konfigūravimas „Linux“

Baigę diegimą, galite koreguoti apgulties konfigūracijos failą. Jis yra aplanke/etc/siege/siegerc. Jei nusprendėte sukurti paketą iš šaltinio, turėsite paleisti:

$ sudo siege.config

Tai sugeneruos failą siege.conf, esantį jūsų vartotojo namuose ~/.siege/siege.conf.

Failo turinys turėtų atrodyti maždaug taip. Atkreipkite dėmesį, kad nepaisau žurnalo failo ir laiko nurodymų:

# cat siegerc |egrep -v "^$|#"
logfile = $(HOME)/var/log/siege.log
verbose = false
color = on
quiet = false
show-logfile = true
logging = false
gmethod = HEAD
parser = true
nofollow = ad.doubleclick.net
nofollow = pagead2.googlesyndication.com
nofollow = ads.pubsqrd.com
nofollow = ib.adnxs.com
limit = 255
protocol = HTTP/1.1
chunked = true
cache = false
connection = close
concurrent = 25
time = 1M
delay = 0.0
internet = false
benchmark = false
accept-encoding = gzip, deflate
url-escaping = true
unique = true

Esant dabartinei konfigūracijai, apgultis imituos 25 vienu metu naudojamus vartotojus.

Dabar esate pasirengęs vykdyti savo apgultį.

Tinklalapio apkrovos testavimas naudojant „Siege Benchmarking Utility“

Apgultis yra gana paprasta, jums reikia nurodyti tik tokią svetainę, kurią norite išbandyti:

# siege example.com

Jei prieinamumas išlieka 100% ir nėra nepavykusių ryšių, jūsų sistemai sekėsi ir nebuvo jokių problemų. Taip pat turėtumėte stebėti reakcijos laiką.

Galite išbandyti kelis URL nustatydami apgultį, kad juos skaitytumėte iš failo. URL aprašykite aplanke /usr/local/etc/urls.txt taip:

Dabar norėdami pasakyti apgulai išbandyti URL iš failo, naudokite parinktį -f taip:

# siege -f /usr/local/etc/urls.txt

Taip pat galite naudoti komandų eilutės parinktis, jei norite išbandyti skirtingus parametrus, nei aprašyti konfigūracijos faile.

  • -C - nurodykite savo konfigūracijos failą.
  • -q - slopina apgulties išvestį.
  • -g - GAUTI, ištraukite HTTP antraštes ir parodykite operaciją. Naudinga derinant.
  • -c - vienu metu esančių vartotojų skaičius, numatytasis nustatymas yra 10.
  • -r - kiek kartų reikia atlikti testą.
  • -t - kiek laiko atlikti testą. 10 sekundžių galite nurodyti S, M arba H ex: –time = 10S.
  • -d - atsitiktinis uždelsimas prieš kiekvieną užklausą.
  • -b - nėra jokių uždelsimų tarp užklausų.
  • -i - vartotojo modeliavimas. Naudojamas atsitiktiniams URL nukreipti.
  • -f - išbandykite nurodyto failo URL.
  • -l - žurnalo failas.
  • -H - pridėkite antraštę, kad pateiktumėte užklausą.
  • -A - nurodykite vartotojo agentą.
  • -T - užklausoje nustatomas „Content-Type“.
  • --no-parser - NO PARSER, išjunkite HTML puslapio analizatorių.
  • --no-follow - nesilaikykite HTTP peradresavimų.

„Siege“ yra galingas įrankis, leidžiantis įvertinti jūsų sistemos patikimumą esant didelei apkrovai. Jį gali naudoti žiniatinklio kūrėjai, norėdami išbandyti savo kodą, kai svetainė patiria prievartą. Testus visada turėtumėte atlikti atsargiai, nes patikrinto serverio metu vertinimas gali būti nepasiekiamas.