Càrrega de proves de servidors web amb l'eina d'avaluació comparativa de Siege


Saber quant trànsit pot gestionar el vostre servidor web quan està sota estrès és essencial per planificar el creixement futur del vostre lloc web o aplicació. Mitjançant l'eina anomenada setge, podeu executar una prova de càrrega al vostre servidor i veure com funciona el vostre sistema en diferents circumstàncies.

Podeu utilitzar siege per avaluar la quantitat de dades transferides, el temps de resposta, la taxa de transacció, el rendiment, la concurrència i quantes vegades el servidor ha retornat respostes. L'eina té tres modes, en els quals pot funcionar: regressió, simulació a Internet i força bruta.

Important: Siege només s'ha d'executar contra els servidors que teniu o en els quals tingueu permís explícit per provar. En alguns països, utilitzar setge en llocs web no autoritzats es pot considerar un delicte.

Instal·lació de la utilitat de prova de càrrega HTTP Siege a Linux

Siege és multiplataforma i es pot instal·lar a les distribucions Ubuntu/Debian i CentOS/RHEL mitjançant les ordres següents.

Per instal·lar Siege a Debin/Ubuntu, podeu executar:

$ sudo apt install siege

Per a CentOS/RHEL, heu d'instal·lar i habilitar el repositori per instal·lar siege amb:

# yum install epel-release
# yum install siege

Alternativament, podeu construir el setge des de la font. Per a aquest propòsit, haureu de tenir instal·lats paquets essencials per a la construcció i desenvolupament.

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

A continuació, podeu descarregar Siege mitjançant l'ordre wget i instal·lar-lo des de les fonts tal com es mostra.

$ 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

Configuració de la utilitat de prova de càrrega HTTP de Siege a Linux

Un cop hàgiu completat la instal·lació, podeu ajustar el vostre fitxer de configuració de setge. Es troba a /etc/siege/siegerc. En cas que hàgiu decidit crear el paquet des de l'origen, haureu d'executar:

$ sudo siege.config

Això generarà el fitxer siege.conf situat a la casa del vostre usuari ~/.siege/siege.conf.

El contingut del fitxer hauria de semblar a aquest. Tingueu en compte que he descomentat el fitxer de registre i les directives d'hora:

# 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

Amb la configuració actual, siege imitarà 25 usuaris concurrents durant 1 minut.

Ara esteu preparat per executar el vostre setge.

Prova de càrrega del lloc web amb la utilitat d'avaluació comparativa de Siege

Executar setge és bastant fàcil, només cal que especifiqueu el lloc web que voleu provar així:

# siege example.com

Si la disponibilitat es manté al 100% i no hi ha connexions fallides, el vostre sistema va funcionar bé i no hi ha hagut cap problema. També heu de vigilar el temps de resposta.

Podeu provar diversos URL configurant setge per llegir-los des del fitxer. Podeu descriure els URL a /usr/local/etc/urls.txt així:

Ara, per dir-li a siege que proveu els URL del fitxer, utilitzeu l'opció -f com aquesta:

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

També podeu utilitzar les opcions de línia d'ordres, si voleu provar configuracions diferents de les descrites al fitxer de configuració.

  • -C: especifiqueu el vostre propi fitxer de configuració.
  • -q: suprimeix la sortida del setge.
  • -g: GET, desplega les capçaleres HTTP i mostra la transacció. Útil per depurar.
  • -c: el nombre d'usuaris concurrents, per defecte és 10.
  • -r: quantes vegades cal executar la prova.
  • -t: quant de temps per executar la prova. Podeu especificar S, M o H, per exemple: –time=10S durant 10 segons.
  • -d: retard aleatori abans de cada sol·licitud.
  • -b: no hi ha retards entre sol·licituds.
  • -i: simulació d'usuari. S'utilitza per colpejar URL aleatoris.
  • -f: prova els URL del fitxer especificat.
  • -l: fitxer de registre.
  • -H: afegeix una capçalera a la sol·licitud.
  • -A: especifiqueu un agent d'usuari.
  • -T: estableix el tipus de contingut a la sol·licitud.
  • --no-parser: NO ANALISADOR, desactiveu l'analitzador de pàgines HTML.
  • --no-follow: no seguiu les redireccions HTTP.

Siege és una eina poderosa per mesurar la fiabilitat del vostre sistema quan està sota una càrrega elevada. Els desenvolupadors web poden utilitzar-lo per provar el seu codi quan el lloc està sota coacció. Sempre hauríeu d'executar les proves amb precaució, ja que el servidor provat pot quedar inaccessible durant l'avaluació.