Red de conocimiento informático - Descarga de software - ¿Qué se debe hacer para escribir un sitio web en PHP que admita alta concurrencia?

¿Qué se debe hacer para escribir un sitio web en PHP que admita alta concurrencia?

El desarrollo de sitios web de alta concurrencia usando PHP requiere almacenamiento en caché. La lógica compleja debe procesarse de forma asincrónica a través de colas de mensajes. Si aún no está seguro, debe mejorarse la descarga de la máquina. master debe usarse para varios esclavos. Utilice el clúster codis para agregar consumidores a la cola de mensajes. Si aún no se resuelve, rechace aleatoriamente la solicitud.

Almacenamiento en caché

El almacenamiento en caché sirve para evitar demasiadas solicitudes de MySQL para consultas comerciales, lo que resulta en indisponibilidad comercial. Determine si necesita usar un clúster de codis según el escenario. Si no alcanza un cierto nivel, también es posible redis 16G, pero es necesario evitar la penetración de caché que es fácil de ocurrir en redis con alta concurrencia, intentar que sea altamente disponible y garantizar la tasa de aciertos de la implementación de caché.

Cola de mensajes

Esta también es una característica excelente en situaciones de alta concurrencia. Puede reducir picos y llenar valles, y procesar la lógica empresarial que requiere mucho tiempo de forma directa y asincrónica. cola para evitar una acumulación excesiva de solicitudes, lo que provoca que el servidor no esté disponible.

Optimización de MySQL

En algunos escenarios, si se debe consultar MySQL, también se debe utilizar la indexación para evitar consultas conjuntas de varias tablas. Incluso el nivel de aislamiento de transacciones de MySQL debe reducirse. tanto como sea posible, o las transacciones deben eliminarse directamente, utilizando un eventual mecanismo de compensación de coherencia. Actualizar la configuración de mysql y aumentar la cantidad de núcleos y memoria obviamente optimizará la velocidad de la consulta. Es mejor usar un maestro y varios esclavos en un solo paso y enrutar la consulta al servidor esclavo.

Rechazar solicitudes aleatoriamente

Esto no es una broma. Debemos asegurarnos de que el servidor esté disponible. Preferimos rechazar algunas solicitudes que permitir que el servidor se bloquee por una gran cantidad de solicitudes. lo que eventualmente hará que no esté disponible para todos.