Всем привет,
Есть такой вопрос, может кто в теме.
Есть разработанное веб приложение. Идея приложения: в приложении публикуются новости о компаниях, представленных на бирже акций, типа Google и т.д., юзер видит текст новости и рост или падение акций компаний, имеющих отношение к этой новости. Использованные технлогии: 1) Front-end: Angular2, и разные библиотеки, 2)Backend: Laravel5, PHP; 3) Другие: БД - MySQL, сервер Apache2.
Суть вопроса: в начале проекта я предлагал использовать веб-сокеты, но мы от них отказались, так как эксперты сказали что использование websockets, как таковое, сильно нагружает сервер. Я так понимаю что имелось ввиду то, что веб сокеты - это непереывное HTTP соединение и для каждого пользователя постоянно гоняются пустые HTTP запрос/ответ , и если условно говоря постоянно приложением пользуются 500 человек, то сервер это сильно будет перегружать.
В результате, поскольку в деле поставки информации для бизнесменов и биржевых маклеров очень важна скорость, то вместо использования вебсокетов, приложение шлет каждую секунду API запрос к бэкенду. Также администратор приложения может сделать некие изменения в приложении, которые должен сразу увидеть обычный пользователь приложения, поэтому дополнительно мы еще шлем один запрос в 5 секунд, чтобы проверить изменил ли администратор какие-то настройки приложения или нет.
Получается, что сервер сильно перегружается у нас, ресурс который используется больше всего - это CPU, и использует его в основном MySQL БД, примерно 1 CPU может обслуживать 5 юзеров.
Понятно, что абстрактно сложно сказать, но все таки, можно ли примерно оценить, стоит ли использовать для такого приложения вебсокеты или нет? Ведь если бы мы использовали вебсокеты, то кртически важная информация пересылалась бы юзеру своевременно и с небольшими ( по идее ?) затратами на серверные ресурсы. Примерно 1-2 новости появляются в 1-2 минуты, и нужно слать инфу когда админ что-то изменил, тоже может 1 раз в от 5-10 минут до 1 раз в 1-2 суток, что совсем немного. Основная нагрузка на сервер при
использовании вебсокетов – это как я понимаю, и писал выше это пересылать пустые HTTP запрос/ответ.
Клиент не доволен – приложение в результате работает медленно. Переписать на вебсокеты и проверить в реальности, как будет, никто не даст – объянить руководству такую необходимость сложно и бюджет проекта ограничен. Все -таки, абстрактно , можно ли прикинуть что для такого приложения, как я описал выше, будет лучше использование вебсокетов (в плане меньшей нагрузки на сервер и удешевления ежемесячной платы за сервера - мы сейчас используем AWS) или слать запрос к АПИ 1 раз в секунду ?
Заранее спасибо за дельные комментарии )