Red de conocimiento informático - Material del sitio web - Cómo aumentar la simultaneidad del servidor

Cómo aumentar la simultaneidad del servidor

Eliminar los cuellos de botella es la única forma de mejorar el rendimiento y la simultaneidad del servidor.

Si puede eliminar todos los cuellos de botella, puede maximizar el rendimiento del hardware y maximizar el rendimiento y la simultaneidad del sistema.

Adopte programación multiproceso y multinúcleo, utilice mecanismos de mensajes asincrónicos o basados ​​en eventos y minimice las operaciones de bloqueo y espera (como bloqueo de E/S, espera sincrónica o temporización/tiempo de espera, etc.) .

Principio:

1. La programación multiproceso y multinúcleo elimina los cuellos de botella de la CPU.

2. Utilice IOCP o epoll para eliminar los cuellos de botella que bloquean las E/S de la red mediante el uso de métodos de notificación y monitoreo de estado.

3. El uso de mecanismos de mensajería asincrónicos o basados ​​en eventos puede eliminar operaciones de espera innecesarias.

4. Si es Linux, AIO se puede utilizar para eliminar los cuellos de botella que bloquean la E/S del disco.

5. Procesa eventos de temporizador de manera uniforme en marcos controlados por eventos o mensajes asincrónicos, cambiando la sincronización a asíncrona y puede manejar innumerables eventos de temporizador en un hilo.

6. Análisis en profundidad de las fuentes externas de obstrucción y eliminación de las mismas.

Por ejemplo, si la consulta de la base de datos es lenta, el procesamiento del servidor es lento y no se puede aumentar el número de concurrencia. En este caso, se debe optimizar el rendimiento de la base de datos.

7. Si hay una gran cantidad de comunicación con otro servidor, el rendimiento disminuirá significativamente.

Puede considerar colocar estos dos servidores en un host y usar memoria compartida para la comunicación IPC, lo que puede mejorar enormemente el rendimiento.