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ó.