Cómo probar el rendimiento del servidor: una selección de varios puntos de referencia de código abierto

Continuamos nuestra serie de materiales dedicados a probar el rendimiento del servidor. Hoy hablaremos de un par de puntos de referencia probados en el tiempo que aún son compatibles y se actualizan: NetPerf, HardInfo y ApacheBench.


Foto - Peter Balcerzak - CC BY-SA

Netperf


Esta es una herramienta para evaluar el ancho de banda de la red. Fue desarrollado por ingenieros de Hewlett-Packard. La herramienta incluye dos ejecutables: netserver y netclient. Para ejecutar la prueba, deben ejecutarse en diferentes máquinas. Por defecto, netperf usa el puerto 12865, pero se puede reemplazar con el indicador -p. La utilidad funciona con TCP y UDP sobre sockets BSD, DLPI, sockets de dominio Unix e IPv6.

Hoy netperf forma parte del kit de herramientas de evaluación comparativa de Flent . También es utilizado por una gran cantidad de compañías de TI, como Red Hat . Aquí hay una descripción del servicio netperf en un ejemplo para evaluar el rendimiento de OpenShift:

apiVersion: v1 kind: Service metadata: labels: app-name: netperf name: netperf namespace: your_project spec: ports: - port: 12865 protocol: TCP targetPort: 12865 selector: app-name: netperf sessionAffinity: ClientIP type: ClusterIP 

El repositorio oficial dice que netperf está licenciado bajo una licencia especial de Hewlett-Packard. Sin embargo, el autor de la utilidad, Rick Jones (Rick Jones), afirma que está enmarcado en las mejores tradiciones de código abierto. También tenga en cuenta que las actualizaciones recientes para netperf han salido muy raramente. Quizás esto se deba a la madurez del producto.

Netperf tiene análogos, por ejemplo, iperf2 e iperf3 . También le permiten probar el ancho de banda de la red. El desarrollo de iperf3 comenzó después de que el repositorio de iperf2 cayera en mal estado. La nueva versión está escrita desde cero y es incompatible con la implementación anterior, aunque contiene parte de su código. Curiosamente, después del lanzamiento de iperf3, el trabajo en iperf2 comenzó a hervir nuevamente. Como resultado, las dos herramientas tienen una funcionalidad similar, pero al mismo tiempo diferente. Por ejemplo, iperf2 es multiproceso e iperf3 solo funciona con un subproceso.

Hardinfo


Esta es una utilidad para recopilar información sobre hardware y sistema operativo. Muestra datos sobre el funcionamiento de dispositivos en: PCI, ISA PnP, USB, IDE, SCSI, así como puertos serie y paralelo. Pero se puede usar como herramienta de referencia y monitoreo.

HardInfo ofrece varias pruebas. Por ejemplo, CPU Blowfish: evalúa el rendimiento del procesador utilizando algoritmos de cifrado simétrico de bloques criptográficos. Hay una CPU N-Queens , una prueba de combinatoria. El sistema resuelve el problema de ajedrez de colocar N reinas en el tablero de N x N celdas. Ella organiza las piezas para que ninguna de ellas pueda atacar a las demás. También vale la pena señalar FPU FFT, una prueba para el cálculo rápido de la transformada discreta de Fourier y FPU Raytracing, cálculo del trazado de rayos al renderizar una escena 3D.

El resultado en la mayoría de las pruebas se da en segundos y, en consecuencia, cuanto más pequeño sea, mejor. Todos los informes se muestran en formatos HTML y txt.

Inicialmente, la utilidad se desarrolló como parte del proyecto BerliOS . Incluía una plataforma de alojamiento para aplicaciones de código abierto (como SourceForge ) y varias bases de datos para documentación y perfiles de desarrolladores de código abierto. BerliOS se cerró en 2014 debido a la insuficiencia de fondos. Hoy, HardInfo está siendo desarrollado por entusiastas en un repositorio separado en GitHub.

Tenga en cuenta que a veces hay errores en el sistema. Se sabe acerca de un error de segmentación que ocurre periódicamente, problemas con la visualización de dispositivos USB y varios otros .

Apachebench


Herramienta para pruebas de estrés de servidores HTTP. ApacheBench (AB) fue diseñado para probar Apache, pero puede funcionar en cualquier otro servidor. La herramienta está preinstalada en muchas distribuciones de Linux.


Fotos - Victor Freitas - Unsplash

La utilidad "bombardea" los servidores con una gran cantidad de solicitudes. Para comenzar, ingrese el siguiente comando:

 ab -n 100 -c 10 http://www.example.com/ 

Enviará cien solicitudes GET (como máximo diez de ellas se transmitirán simultáneamente) al recurso de prueba. En la salida, el sistema mostrará el tiempo promedio para procesar solicitudes, la cantidad total de datos transferidos, el rendimiento y la cantidad de errores.

Hoy, una gran comunidad se ha reunido alrededor de la empresa de servicios públicos. Nuevas guías sobre cómo configurar y usar ApacheBench aparecen regularmente en la red.

Tenga en cuenta que AB tiene un análogo: Apache jMeter , pero con excelentes características. Por ejemplo, le permite generar solicitudes desde múltiples computadoras, controlando el proceso desde una de ellas. El programa también implementa mecanismos de autorización para usuarios virtuales, y se admiten sesiones de usuario. Muchas empresas de TI utilizan esta herramienta, incluidos los proveedores de la nube, como Qualys .


Nosotros en 1cloud brindamos el servicio Private Cloud . Este es un alquiler de infraestructura virtual con la capacidad de personalizar rápidamente la flota de servidores virtuales .

Nuestra nube está construida sobre el hardware de Cisco, Dell, NetApp. El equipo está ubicado en varios centros de datos: DataSpace (Moscú), SDN / Xelent (San Petersburgo), Ahost (Alma-Ata).

Source: https://habr.com/ru/post/476126/


All Articles