WordCamp Us Talk: Escala de sitios dinámicos de WordPress

Nuestro CTO Aaron Edwards habló en el WordCamp USA el fin de semana pasado sobre sus experiencias de escala dinámicas de escala, especialmente Ediscers, CampusPress y WPMU Dev. Esta es una transcripción editada de su presentación. Si tiene alguna pregunta sobre la escala, o incluso sobre el papel de Aaron como CTO, deje un comentario al final del artículo. Desplácese en la parte inferior para obtener los portaobjetos en la presentación. Normalmente, cuando va a discusiones de rendimiento en eventos como Wordcamps, los altavoces hablan más sobre el front-end de su sitio, acelerando esto, memorizando complementos, configuraciones, todas estas cosas y el gran acento está en todo el almacenamiento de la página en caché en caché . El problema es que si tiene un sitio web dinámico y ejecuta BBPress, comercio electrónico, WordPress multisitio, BuddyPress o incluso un sitio de membresía, casi cualquier sitio en el que muchos de sus visitantes estarán conectados, los usuarios se saltarán en todas partes. – El caché de la página casi todo el tiempo, lo que no te ayuda en absoluto.
Así que hoy, hablaré sobre la reparación del tiempo de generación de páginas como parte de su pila. Si observa una solicitud normal a su sitio cuando esté conectado, puede verse así:

Si está tratando de cumplir con la recomendación de Google PageSpeed ​​Insights …
Verá este gran bar donde su página está esperando ser generada y enviada a usted, y luego su navegador puede descargar todos los activos y cosas, así que solo hablar sobre el tiempo de generación de páginas y cómo podemos mejorar esto tiene un gran impacto en su Sitio, especialmente cuando es un sitio dinámico.
Google recomienda un máximo de 200 milisegundos para su tiempo de generación de páginas, pero realmente desea obtenerlo mucho menos que sea posible. Pero cuando tienes muchos complementos y grandes temas que ejecutan código todo el tiempo, puede ser un gran desafío tocar este punto. Cuando comencé a trabajar en esta presentación, pensé en hablar sobre escalar en varios servidores y arquitecturas diferentes, pero me di cuenta de mi propia experiencia que esto no resuelve problemas de rendimiento, todo lo que multiplicará. Si no remedia los problemas de rendimiento subyacentes. La pieza más grande suele ser la base de datos. Es el mayor bloqueo que conocerá en su sitio. Para remediar el problema de la base de datos, desea optimizar las cosas tanto como sea posible y observar sus interrogatorios. Hay un complemento maravilloso llamado un monitor de consulta que le permite analizar cualquier consulta que sus complementos hagan e identificar cualquier área con problemas en que puede agregar un índice o simplemente deshacerse de un complemento.
La optimización de la configuración de MySQL es importante. El caché de consulta es algo importante. Es sorprendente cuántas personas no tienen el caché activado en MySQL, porque puede ser de gran ayuda si tiene muchas tablas de lectura pesadas. MySQLTuner es un pequeño script que puede ejecutar, que analiza su configuración y le brinda consejos sobre cómo puede mejorar la configuración de su base de datos. Además, convierta sus tablas a innodb: solo grandes tablas de escritura y no todas las tablas, porque si realiza una gran instalación de WordPress, como lo somos para Ediscers, la conversión de todas las tablas a innodb puede causar algunos dolores de cabeza importantes: lo confío, lo experimenté, lo experimenté, lo experimenté. . Por lo tanto, tendemos a centrarnos más en las tablas que tienen muchas solicitudes de escritura, por lo que las tablas globales de una instalación múltiple. MariadB es una alternativa a MySQL. En realidad es una bifurcación MySQL con código más nuevo. Puede obtener un aumento en el rendimiento en un 10% -20% al mudarse a MariadB. Y si tiene la suerte de albergar Amazon, Aurora es un nuevo servicio, una alternativa a MySQL, que tiene 2-3 veces mejores puntos de referencia y velocidades, lo cual es bastante sorprendente. WordPress Cache Finalmente, la mejor manera de optimizar su tiempo en la base de datos es nunca dejar que las consultas lleguen allí, primero, y aquí viene el caché de los objetos de WordPress. Normalmente, PHP habla directamente con MySQL, que es lento, pero si tiene los objetos de los objetos, puede almacenar muchas de esas consultas y solicitudes en el caché, que es mucho más rápido.
Algunos complementos de caché de objetos son Memcache y Redis. Estos son los que recomiendo, porque se basan en la memoria y, si extiende más servidores, pueden compartir el mismo caché. Si intenta basarse en archivos o APC (caché PHP alternativo), según los archivos a veces es más lento de lo que no usa uno en absoluto, por lo que lo recomiendo calurosamente. Optimización PHP: Código de perfil La otra cosa que debe ver es la parte de PHP durante la página de carga de la página de carga en su sitio. Una de las cosas más importantes que puede hacer es optimizar su código. Para los principiantes, hay un excelente complemento llamado P3 (perfilador de rendimiento del complemento) que le permite preguntar “es este complemento que causa esta cantidad de recursos” o “este complemento es Un cerdo de recursos, no lo necesito mucho, me desharé de él “. Es muy fácil de usar para principiantes.
Para usuarios más avanzados, hay xdebug, que le permite perfilar su código y ver qué funciones son malas, qué bucles se están ejecutando demasiadas veces, etc. Y en un sitio de producción donde recibe mucho tráfico, New Relic es un maravilloso servicio pagado que funciona de maravilla al ayudarlo a analizar y perfilar su código PHP.
Optimización de PHP: los delincuentes más graves estos son algunos de los problemas que he encontrado al analizar el código PHP: consultas innecesarias y neo-optimizadas que puede almacenar muchas consultas en el caché de objetos, ahorrando mucho tiempo. En el sitio web de WPMU Dev, ejecutamos muchos de nuestros propios complementos en nuestros propios sitios a gran escala. Pasamos mucho tiempo tratando de optimizar los complementos con el caché de los objetos. Además, mire complementos como estadísticas y otros para registrar la redirección. A menudo, intentan escribir en la base de datos en cada carga de la página, un gran no, porque ralentizará mucho su sitio si tiene un sitio de alto tráfico. Atención a las solicitudes remotas cuando PHP tiene que llamar a una API externa, como Google o Facebook, debe esperar una respuesta de esos servicios antes de terminar su generación de páginas y si ese servicio API funciona lentamente, ralentizará su sitio e incluso lo bloqueará si esa tercera parte del servicio es defectuosa. Por lo tanto, debe asegurarse de usar bajos tiempos de espera y ponerlos en caché tanto como sea posible. No los ponga en el caché en momentos transitorios, incluso si el Codex dice que para esto estoy allí, porque si ese transitorio expira y el servicio API fallará, hará una llamada externa cada vez que la página se cargue y bloquee. Su sitio como si fuera hecho para Edisclegs antes. Así que cuídalo.
El mal lavado de las reglas para reescribir algunos complementos intentará eliminar las reglas de reescritura para cada carga de página. Sigue siendo un problema común allí. El acceso directo al sistema de archivos cualquier cosa que intente escribir en su sistema de archivos directo lo retrasará. Acelerar PHP Otra forma de aumentar la velocidad de PHP es trabajar directamente en la arquitectura. Entonces, usando Nginx, que es muy recomendable. No he usado Apache durante cinco años porque tiene que cargar PHP por cada carga de página, incluso al cargar CSS, JavaScript, tales cosas. Nginx solo enviará sus solicitudes dinámicas a PHP, por lo que le brinda mucho espacio. Si ejecuta multisit, asegúrese de usar un caché CDN o barniz frente a los archivos multimedia. Muchas personas no saben esto, pero sus cargas en realidad son reescritas por PHP en multisits, es algo extraño que hacen, pero eso le dará mucho espacio si puede evitar que esas solicitudes golpeen el PHP en los medios de comunicación. Además, asegúrese de utilizar las últimas versiones de PHP, como 5.5, 5.6, porque puede obtener un aumento del 20% en la velocidad en comparación con algunas versiones anteriores, como 5.2. Y finalmente, si no usa Opcache, está loco porque está incorporado en PHP. Solo tiene que activarlo y acelerará sus solicitudes dos veces. Cambie a HHVM o PHP7 Es posible que desee pensar en PHP7, que se ha lanzado recientemente.

Estoy muy contento de comenzar a lanzar Edublogs y WPMU Dev y algunos de los sitios web que alojamos pronto. Muestra una velocidad 2-3 veces más alta que la versión PHP anterior, lo cual es una gran cosa. Así que piense en pasar su servidor utilizando las últimas versiones de PHP si es posible. Monitorear la aplicación a escala Otra cosa que debe ver de una vez que tenga un sitio activo y de silla de ruedas en la escala y ejecutar muchas solicitudes es cómo monitorearlo. Para nuestros sitios, utilizamos el STASD, un maravilloso proyecto de código abierto del equipo de Etsy. Lo usamos con un complemento personalizado de WordPress que escribí, llamado Statsd WordPress Customer. Le permite analizar el código y lo que está sucediendo en su sitio web de WordPress sin causar ninguna latencia. Los desarrolladores solo pueden ingresar un código de línea en cualquier lugar de nuestra pila y ver cuánto dura una cierta consulta o cuántas veces se activa una consulta. Todas estas cosas les ayudan a optimizar su código. Le recomiendo calurosamente que busque en el STASD si puede lanzarlo por su cuenta. Si no, la nueva reliquia es un excelente servicio pagado, pero si tiene más servidores, puede comenzar a crecer muy rápidamente. ¿Demasiado técnico para ti? Si todo esto le suena demasiado técnico y no puede contratar a un administrador de sistemas experimentado para tratar con usted, es posible que desee buscar WordPress administrado, como Kinsta, Pagely y WP Engine. Muchos hosts administrados implementan las sugerencias de las que hablamos aquí, como los objetos de los objetos y el uso de Nginx.
La mayoría también acepta HHVM en ciertos niveles y muchos con los que he hablado recientemente se están preparando para lanzar el soporte de PHP7.Por lo tanto, el alojamiento administrado puede ser una opción para usted.¿Tiene alguna pregunta sobre la escala de WordPress?¿O le gustaría obtener más información sobre cómo usamos los instrumentos y complementos mencionados en esta publicación?Deja un comentario a continuación para Aaron.Etiquetas: escalar sitios web dinámicos
WPMU Dev

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

gkOVSBm5B8SgiXmo

Shopify vs WooCommerce – ¿Cuál es la mejor plataforma?(Comparación)

Shopify vs WooCommerce

Leave a Reply

Your email address will not be published. Required fields are marked *