Tagħbija Ittestjar Web Servers bl-Assedju Benchmarking Għodda


Li tkun taf kemm traffiku jista 'jimmaniġġja s-server tal-web tiegħek meta taħt stress huwa essenzjali għall-ippjanar futur tat-tkabbir tal-websajt jew l-applikazzjoni tiegħek. Billi tuża għodda msejħa assedju, tista 'tmexxi test tat-tagħbija fuq is-server tiegħek u tara kif is-sistema tiegħek taħdem f'ċirkostanzi differenti.

Tista 'tuża assedju biex tevalwa l-ammont ta' dejta trasferita, il-ħin tar-rispons, ir-rata tat-tranżazzjoni, it-trażmissjoni, il-konkorrenza u kemm-il darba s-server irritorna tweġibiet. L-għodda għandha tliet modi, li fihom tista 'topera - rigressjoni, simulazzjoni tal-internet u forza bruta.

Importanti: L-assedju għandu jsir biss kontra servers li inti stess jew fuq dawn li għandek permess espliċitu biex tittestja. F'xi pajjiżi, l-użu ta' assedju fuq websajts mhux awtorizzati jista' jitqies bħala reat.

Installazzjoni ta' Siege HTTP Load Testing Utility f'Linux

Assedju huwa pjattaforma multi u jista 'jiġi installat taħt distribuzzjonijiet Ubuntu/Debian u CentOS/RHEL billi tuża l-kmandi li ġejjin.

Biex tinstalla Siege taħt Debin/Ubuntu, tista' tħaddem:

$ sudo apt install siege

Għal CentOS/RHEL, għandek bżonn tinstalla u tippermetti li r-repożitorju jinstalla assedju ma:

# yum install epel-release
# yum install siege

Alternattivament, tista 'tibni l-Assedju mis-sors. Għal dak il-għan ser ikollok bżonn li jkollok pakketti essenzjali tal-bini u tal-iżvilupp installati.

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

Imbagħad tista 'tniżżel l-Assedju billi tuża l-kmand wget u tinstalla minn sorsi kif muri.

$ 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

Konfigurazzjoni tal-Utilità tal-Ittestjar tat-Tagħbija HTTP tal-Assedju fil-Linux

Ladarba tkun lestejt l-installazzjoni, tista 'taġġusta l-fajl tal-konfigurazzjoni tal-assedju tiegħek. Hija tinsab f'/etc/siege/siegerc. Fil-każ li ddeċidejt li tibni l-pakkett mis-sors, ikollok tmexxi:

$ sudo siege.config

Dan jiġġenera fajl siege.conf li jinsab fid-dar tal-utent tiegħek ~/.siege/siege.conf.

Il-kontenut tal-fajl għandu jidher xi ħaġa bħal din. Innota li għandi nneħħi l-kumment tal-logfile u d-direttivi tal-ħin:

# 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

Bil-konfigurazzjoni attwali, l-assedju se jimita 25 utent konkorrenti fuq minuta.

Issa inti lest biex tmexxi l-assedju tiegħek.

Ittestjar tat-Tagħbija tal-Websajt b'Utilità ta' Benchmarking ta' Assedju

It-tmexxija tal-assedju hija pjuttost faċli, trid biss tispeċifika l-websajt li tixtieq tittestja hekk:

# siege example.com

Jekk id-disponibbiltà tibqa' 100% u ma jkunx hemm konnessjonijiet falluti, is-sistema tiegħek marret tajjeb u ma kien hemm l-ebda kwistjoni. Għandek ukoll iżżomm għajnejk fuq il-ħin tar-rispons.

Tista 'tittestja URLs multipli, billi tistabbilixxi assedju biex taqrahom mill-fajl. Tista' tiddeskrivi l-URLs f'/usr/local/etc/urls.txt hekk:

Issa biex tgħid lil assedju biex jittestja l-URLs mill-fajl, uża l-għażla -f bħal din:

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

Tista 'wkoll tuża għażliet tal-linja tal-kmand, jekk trid tipprova settings differenti minn dawk deskritti fil-fajl tal-konfigurazzjoni.

  • -C – speċifika l-fajl tal-konfigurazzjoni tiegħek stess.
  • -q – trażżan l-output ta’ l-assedju.
  • -g – IKOLLOK, iġbed il-headers HTTP 'l isfel u uri t-tranżazzjoni. Utli għad-debugging.
  • -c – in-numru ta' utenti konkorrenti, default huwa 10.
  • -r – kemm-il darba tmexxi t-test.
  • -t – kemm ħin biex iwettaq it-test. Tista' tispeċifika S, M, jew H pereżempju: –time=10S għal 10 sekondi.
  • -d – dewmien każwali qabel kull talba.
  • -b – l-ebda dewmien bejn it-talbiet.
  • -i – simulazzjoni tal-utent. Juża biex tolqot URLs każwali.
  • -f – test URLs minn fajl speċifikat.
  • -l – log file.
  • -H – Żid header biex titlob.
  • -A – speċifika aġent tal-utent.
  • -T – Issettja l-Kontenut-Tip fit-talba.
  • --no-parser – NO PARSER, itfi l-parser tal-paġna HTML.
  • --no-follow – issegwix redirects HTTP.

L-Assedju huwa għodda qawwija biex tkejjel l-affidabilità tas-sistema tiegħek meta tkun taħt tagħbija għolja. Jista 'jintuża mill-iżviluppaturi tal-web biex jittestjaw il-kodiċi tagħhom meta s-sit ikun taħt pressjoni. Għandek dejjem tmexxi t-testijiet tiegħek b'kawtela peress li s-server ittestjat jista' jsir inaċċessibbli waqt l-evalwazzjoni.