Elementos PHP frente a elementos no PHP
Si compara los tiempos de carga de activos que no son PHP con los tiempos de carga basados en PHP, verá que el servidor responde rápidamente si PHP no está involucrado.
Esto generalmente indica problemas internos en su script PHP.
El problema podría estar dentro de la capa PHP o la base de datos. El uso de herramientas de depuración avanzadas como XDebug o NewRelic puede ayudarlo a detectar rápidamente el cuello de botella.
Los problemas de tiempo hasta el primer byte pueden ser causados por restricciones de hardware, configuración deficiente o código ineficiente. En el alojamiento compartido, es muy probable que haya restricciones de hardware y una configuración deficiente.
En cualquier caso, resolver el problema generalmente significa uno o todos:
- Más hardware
- Mejor programación
- Agregar almacenamiento en caché
El hardware más rápido es una solución obvia pero a menudo costosa si ya tiene recursos dedicados.
Una mejor programación puede no ser posible si el problema es interno al código que no mantiene o carece de recursos para desarrolladores.
El almacenamiento en caché ayuda a reducir la cantidad de solicitudes que deben afectar a los recursos subyacentes y de bajo rendimiento.
Pruebas
Cuando utilice herramientas de prueba, asegúrese de realizar varias ejecuciones. Los picos de red y servidores temporales pueden llevarlo fácilmente por el camino equivocado, por lo que debe intentar promediarlos.
Hospedaje
Si tiene una cuenta de alojamiento compartido, considere pasar a la nube o servicios de tipo VPS para tener una mejor idea de los problemas de rendimiento. A menos que utilice una técnica de almacenamiento en caché (CDN o servicio de tipo Cloudflare), corregir los problemas de rendimiento en los sistemas de alojamiento compartido masivo puede ser muy desafiante ya que carece de un control suficiente del servidor.