Mastering Swoole PHP: Build High Performance Concurrent System with Async and Coroutines / Осваиваем Swoole PHP: построение высокопроизводительной конкурентной системы с асинхронностью и корутинами: Конкурентные модели
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
Конкурентные модели Kee 02.02.21 в 14:12 |
|
|
При решении проблем конкурентности потребуется проработать два основных вопроса. Первый — до какой степени можно линейно масштабировать параллельные решения, не слишком теряя в производительности или ресурсах. Второй — как синхронизировать состояния и поддерживать их актуальными. Kee 03.02.21 в 00:50 |
||
|
Рисунок 4.4 (Наиболее популярные модели конкурентности) Kee 03.02.21 в 00:51 |
||
|
Источник: https://unixism.net/2019/04/linux-applications-performance-introduction Kee 03.02.21 в 00:52 |
||
|
Наиболее популярными конкурентными моделями, используемыми языками программирования и фреймворками, являются forking, preforked, threaded, prethreaded, poll, epoll. Prethreaded модель используется многими языками программирования наряду с epoll в Linux. bubenok 09.02.22 в 06:46 |
||
|
На приведенном выше рисунке видно, что производительность моделей forking, preforked, threaded резко снижается по мере роста конкурентности. Но модели epoll и prethreaded могут обслуживать не менее 10000 одновременных соединеней без существенного снижения производительности, и epoll является наиболее масштабируемой моделью. bubenok 09.02.22 в 06:49 |
||
|
В зависимости от нагрузки и уровня конкурентности, вам необходимо выбрать модель, подходящую для вашего приложения, чтобы сделать систему быстрой и экономичной. bubenok 09.02.22 в 06:52 |
