Probar un sitio web desde la línea de comandos de Linux [cerrado]

29

Estoy buscando una herramienta para probar un sitio web desde una línea de comandos de Linux.

Desde el resultado, necesito saber la respuesta http (códigos de estado) pero también evaluar el tiempo que lleva descargar los diferentes elementos del sitio.

Gracias de antemano.

Embreau
fuente
¿Qué has encontrado, mirado o estás considerando (adecuado / no adecuado) hasta ahora?
mctylr
Ninguna de estas respuestas me suena muy bien. Todavía tienes que esperar años para un negativo
geotheory

Respuestas:

35

Puedes probar wgetcon la -popción:

wget -p http://site.com

Le indicará cuánto tiempo lleva descargar cada elemento y los códigos de retorno para cada solicitud.

Dan Andreatta
fuente
2
wget -p URL -O /dev/null
Fedir RYKHTIK
9

Por favor, consulte el punto de referencia de Apache:

Punto de referencia de Apache

Esto debería darle una visión general del rendimiento de su página.

andre
fuente
Apache Benckmark no se puede utilizar para esto ya que es una fuente externa, de hecho, es una lista de reproducción de videos de YouTube. Estamos monitoreando el acceso a este recurso. TY
Embreau
No veo por qué no puedes usar ab; como wget en la siguiente respuesta, funcionará siempre que se pueda acceder a la URL de su sitio desde la máquina donde está ejecutando la herramienta de evaluación comparativa.
gareth_bowles
El punto de referencia de Apache no está restringido a los recursos locales, está destinado a ser una herramienta completa de medición del rendimiento (incluida la latencia de red, E / S, etc.).
andre
Es bueno saberlo, evaluaré esta opción, gracias.
Embreau
6

Es posible que desee ver las siguientes opciones de curl:

  • --write-out - muestra cualquiera de varias variables relacionadas con el tiempo
  • --trace-time - Antepone una marca de tiempo a cada trazo o línea detallada
  • --verbose
  • --include - (HTTP) Incluya el encabezado HTTP en la salida.
  • --trace-ascii <file> - Permite un volcado de rastreo completo de todos los datos entrantes y salientes, incluida la información descriptiva

Y la siguiente opción de wget:

  • --timestamping - Active el sellado de tiempo
Pausado hasta nuevo aviso.
fuente
curl --trace-ascii <file> --trace-time -o /dev/null <url>Era exactamente lo que necesitaba. ¡Gracias!
dsummersl
3

Selenium y Curl son buenas opciones dependiendo de cuál sea tu objetivo. Además, una utilidad que me ha gustado bastante es twill. Más información está disponible en http://twill.idyll.org/ .

Es agradable, ya que tiene su propio lenguaje poco especializado para completar formularios, validar enlaces y verificar códigos de respuesta. Dado que es solo código Python, puede importar fácilmente las bibliotecas y automatizar sus pruebas usted mismo si desea hacer algo diferente.

McJeff
fuente
2

Usa curl para obtener el encabezado de la página y cronometra el proceso:

time curl -I http://yourpage.com | grep HTTP

envuélvelo en un bucle while y listo. De la misma manera, puede verificar todos los elementos si conoce la URL.

Sideshowcoder
fuente
1

pruebe una herramienta de línea de comandos llamada 'asedio' como se indica aquí

Lefterav
fuente
66
Eso no es lo que está pidiendo. y también llegas 3 años tarde =)
mveroone
1

La herramienta que elija dependerá de lo que quiera medir y la complejidad del sitio.

Si el comportamiento del sitio depende de las cookies (por ejemplo, el usuario necesita iniciar sesión), entonces ab / curl / wget (descrito en otras respuestas) no será suficiente. Una solución es usar http :: recorder / www :: mechanize .

Todos los datos que está solicitando están en los registros de su servidor web, y un simple script awk los devolverá en una forma más legible.

compara el tiempo que lleva descargar los diferentes elementos del sitio.

Este es un indicador muy pobre de desempeño (aunque es útil para monitorear la salud de un sistema de producción). Con la excepción de recursos grandes / lentos, como informes voluminosos, imágenes iso, archivos multimedia, la percepción del rendimiento tiene muy poco que ver con el tiempo necesario para procesar una sola solicitud, y es realmente difícil medir esto con precisión (simplemente agregando% D en su registro de apache parece resolver el problema, pero ignora los protocolos de enlace TCP, la negociación SSL, los efectos de almacenamiento en caché, los tiempos de búsqueda de DNS).

Una mejor solución es usar algo como Boomerang , pero eso se ejecuta en un navegador compatible con Javascript. Si bien esto proporciona un mejor indicador del rendimiento percibido que el seguimiento de las solicitudes HTTP individuales, se basa en los eventos del navegador para obtener un valor para el rendimiento, pero el rendimiento percibido depende del tiempo que tarda la ventana gráfica en representarse (de nuevo, hay herramientas para esto) eche un vistazo a las herramientas de tira de película en WebPageTest ).

También existe el argumento sobre la medición del rendimiento realmente entregado a los usuarios del sitio (RUM) frente a las pruebas sintéticas.

symcbean
fuente
0

Si va a necesitar algo más grande que el rizo y / o el wget, también hay selenio

Insensatez
fuente
0

Creo que para ejecutar la prueba de rendimiento puedes probar JMeter . Puede grabar su prueba usando el proxy incorporado. También se ejecuta en modo texto, local o distribuido. Puede guardar sus resultados en formato csv o xml. Si usa el formato xml, también puede almacenar el contenido de la página.

ghm1014
fuente
0

Para verificar encabezados, me gusta httpie( docs ).

Instalación

pip install httpie --user

Uso

$ http -h http://serverfault.com/q/124952/113899
HTTP/1.1 302 Found
Accept-Ranges: bytes
Age: 0
Cache-Control: private
Connection: keep-alive
Content-Length: 198
Content-Type: text/html; charset=utf-8
Date: Fri, 06 Jan 2017 10:01:06 GMT
Location: http://serverfault.com/questions/124952/testing-a-website-from-linux-command-line
Set-Cookie: prov=392298d9-103e-7dfc-5b55-8738be46cf3b; domain=.serverfault.com; expires=Fri, 01-Jan-2055 00:00:00 GMT; path=/; HttpOnly
Via: 1.1 varnish
X-Cache: MISS
X-Cache-Hits: 0
X-DNS-Prefetch-Control: off
X-Frame-Options: SAMEORIGIN
X-Request-Guid: 07a25de4-6e16-4aa8-acfc-12b1bbbc6180
X-Served-By: cache-hhn1543-HHN
X-Timer: S1483696865.976259,VS0,VE187
Martin Thoma
fuente