¿Cómo hago para que las webs de mi servidor vayan mejor? ¿O para meter más webs en el mismo servidor?

En general, esta es una pregunta que se resuelve con la misma sencilla lógica que preside la física de Newton.

Las webs consumen una cantidad relativamente determinista de recursos, recursos que en general son: Espacio en disco, ciclos de procesador, memoria y conectividad. Y los consumen en relación directa con la cantidad de visitas que reciben, la complejidad de las páginas y la cantidad de las mismas.

Lo interesante hoy son las relaciones que existen entre los tres primeros recursos, y entre el consumo de estos recursos y el entorno de ejecución.

Si conseguimos que una web, con la intervención mínima posible en la web propiamente dicha y ninguna en el servidor, se ejecute más rápido, sucederán varias cosas entre bastidores. Tal vez la más interesante es que consumirá menos memoria. ¿Por qué? Porque las webs no sirven una sola cosa a la vez, sino varias; más cuanto más complejas son y más visitantes simultáneos tienen. Por tanto, si el servidor consigue despachar cada petición más deprisa, estará menos tiempo consumiendo los recursos que necesita para despachar esa petición. El más notable de ellos es la memoria. Normalmente, consumirá también menos ciclos de procesador: Cuando un software corre más con los mismos recursos de sistema, es porque usa menos.

Cuando tenemos un servidor con no una, sino con una serie de webs, estos efectos se amplifican. El conseguir que las webs vayan mejor, implica que el servidor podrá servir más webs distintas. O simplemente, hacerlo más rápido, y reservar capacidad para los picos de carga.

Toda esta teoría está muy bien, pero, ¿qué hago con mis webs?

Veamos el caso de las webs más habituales, con su PHP y su base de datos. El cambio más rápido, sencillo y eficaz que se puede hacer para que una web de este tipo corra más, es ponerle a correr con la versión de PHP más reciente que admita. Y si se puede actualizar para que corra una más reciente aún, hacerlo. PHP 8 corre más que PHP 7; PHP 7 corre una barbaridad más que PHP 5. PHP 5.6 corre más que PHP 5.4, y PHP 7.4 corre sensiblemente más que PHP 7.0. No solamente las versiones de PHP anteriores a la 7.3 están ya sin mantenimiento de ningún tipo en el momento de escribir el presente, lo cual debería ser motivo suficiente para hacer lo que fuera para actualizarlas: Además, las webs con esas versiones más recientes, corren mejor.

La segunda cosa importante que hacer con las webs, es optimizarlas. En el caso de WordPress, las versiones más recientes van mejor que las más antiguas en casi todos los casos, pero sobre todo si se les instala un plugin de cache. WP Super Cache es lo que corre en esta misma web, por poner un ejemplo. Otra optimización más que recomendable para WordPress es eliminar todo lo que no sea imprescindible: Cada plugin puede estar generando carga, a veces mucha carga, a cambio beneficios que a veces son pocos o ninguno. Y los temas, como mínimo, ocupan espacio en disco.

Por supuesto, puestos a optimizar webs, no hay nada más rápido que los estáticos: Especialmente, las imágenes y HTMLs que no se generan ejecutando código PHP, sino que ya están en el almacenamiento, y que el servidor web solamente tiene que leer de un fichero y largarlos por la red. Por este motivo es por lo que los caches son tan eficaces: Justamente, lo que hacen es guardar las páginas que se generan y ahorrarle al servidor el trabajo de generarlas cada vez, repetidamente, si van a ser las mismas.

Con todo esto hecho, ya podemos preocuparnos de cosas como si el alojamiento usa almacenamiento flash, y cosas así. Los servicios de alojamiento, en general, no suelen hacer milagros y siguen la ley de GiGo: Garbage In, Garbage Out. Si una web es un desastre antiguo y mal escrito que solo funciona con PHP 5.2, el ponerla en un alojamiento «super rápido» no va a hacer que tenga menos problemas de rendimiento y de seguridad. Es como preocuparse de encerar un coche que tiene los neumáticos sin dibujo: Un grave desajuste en las prioridades.

Por supuesto, como todo en la vida, optimizar una web no es fácil, y por tanto no es barato, y hay ocasiones en que sale a cuenta tapar los problemas de base de una web dándole todos los recursos que hagan falta para que rinda dignamente. Estas ocasiones, las más de las veces, tienen que ver con aguantar una web mientras se rehace o se decide su destino. En este mundo cambiante nuestro no existe la solución definitiva, pero sí existen las buenas prácticas, y las mejores en cuestión de extraer rendimiento de un servidor son hacerle trabajar lo más fino posible.