Pruebas de carga (stress) de un servidor web

Servidores

Recientemente hemos tenido que realizar pruebas de stress para una web y encontrar herramientas que lo permitan de manera fácil, bonita y barata (gratis) no es fácil.

Después de ver varias alternativas, nos quedamos con Webserver Stress Tool.

Es una aplicación muy sencilla pero potente.
Instalar y usar, no como otras que tenemos que ejecutar noseque scripts en python y cosas por el estilo… (aunque estas sí son gratuitas y muy potentes si les dedicas tiempo)…

La trial te permite simular hasta 10 usuarios, pero si lo instalamos N veces en N ordenadores podemos hacer pruebas más grandes. xD

Ademas, si configuramos el tiempo entre clicks en tiempos bajos (1 o 2 segundos) esos 10 usuarios serán como al menos 50 usuarios de los reales.

Si conocéis alguna otra herramienta interesante, no dudéis en comentarla.

Sugerencias de rendimiento para SQL Server con Qure Optimizer

Bases de datos

Otro programita que nos puede hacer la vida más fácil a la hora de mejorar el rendimiento de una base de datos SQL Server.

Qure Optimizer de DBSophic funciona de la siguiente manera:

Sacamos una traza de nuestra base de datos en producción con, por ejemplo, el SQL Profiler.

Instalamos y configuramos el programa para que tenga acceso a la base de datos y le pasamos la traza que hemos creado (hay que crearla usando una plantilla especial de Qure).

Qure analiza la traza respecto a la estructura de nuestra base de datos y nos da un montón de sugerencias a realizar tanto de las consultas, como de los indices o cambios en el schema que sean más convenientes.

Para que te sea más fácil poner esos cambios en producción, Qure te los ordena según el impacto en el rendimiento y te facilita los scripts de cambios de estructura, y te señala los cambios que debes realizar en tus consultas.

Solo con la trial ya verás de lo que es capaz el programa y mejorar bastante el rendimiento, y si ademas aprendemos del porqué de las recomendaciones, podremos inferir esa lógica en el resto de la aplicación.

Optimizar el rendimiento de Sql Server al instante con SafePeak

Bases de datos

Recientemente hemos descubierto esta gran aplicación (SafePeak) que puede mejorar muchísimo el rendimiento de nuestra base de datos M$ SQL Server sin realizar mucho esfuerzo.

La aplicación se sitúa entre nuestro site, y la base de datos. Para utilizarlo, solo tenemos que instalar, y cambiar el DSN de nuestra aplicación, para que las peticiones pasen primero por SafePeak.

SafePeak analiza las consultas que se hacen y si puede, las cacheará, mejorando radicalmente las siguientes consultas que sean idénticas.

Para consultas más complejas que se realicen a través de procedimientos almacenados, tenemos que enseñar a SafePeak con que criterio tiene que cachear las consultas.

En su panel de control, SafePeak te muestra los objetos dinámicos (por ejemplo los procedimientos almacenados) que va encontrando y provocan un borrado de la cache, para que pulsando sobre ellos, puedas decirle de que objetos de tu base de datos depende esa consulta y así poder gestionar mejor la cache.

Podéis encontrar mas detalles técnicos en este artículo.

Combinar JSs y CSSs en .Net con HttpCombiner

.NET

Si estamos buscando algunas técnicas WPO (Web Performace Optimization) para nuestra página web en .Net, tenemos que tener en cuenta la reducción de tiempo de carga que nos ofrece juntar todos los archivos javascript y css en uno solo.

Al realizar una sola llamada al servidor para cada tipo de archivos envés de las N que se puedan estar haciendo, podemos reducir bastante el rendimiento al disminuir el tiempo de carga de la página.

Si esto no lo hacemos manualmente y ademas lo enviamos al servidor con compresión gzip, mejor que mejor.

Para ello, podemos implementar esta sencilla solución que encontrareis en los siguientes enlaces:

Artículo de la msdn.

Artículo de Codeproject.

Hay que tener en cuenta, que si se tenían las css’s en una carpeta y las rutas a las imágenes son relativas, al hacer esto no las cogerá, por lo que tendréis que reemplazar dicha ruta relativa como si la css estuviese en el raíz de la aplicación.

Cuánta memoria del servidor consume mi sitio WordPress

Wordpress

A la hora de un problema, muchos desarrolladores y bloggers entusiastas de la programación invierten buena parte de su preocupación en las consultas que su sistema hace a la base de datos, pero olvidan un punto importante: la memoria de su servidor PHP.

Copio las lineas más importantes del artículo que podemos poner en nuestro ‘footer.php’ para comprobar el rendimiento de nuestros scripts:

Consumo de PHP: <?php echo round(memory_get_usage()/1048576,2) ?>MB.

Base de datos: <?php echo get_num_queries(); ?> consultas.

Tiempo de carga: <?php timer_stop(1); ?> segundos.

vía ¿Cuánta memoria del servidor consume mi sitio WordPress? — Darío Ferrer.