Я хочу интегрировать новую функциональность с помощью решения для электронной коммерции, основанного на Laravel. На этом этапе основные сценарии занимают около 2,7 секунды для запуска. Весь сайт загружается выше 6 секунд, и мы только начали его отслеживать. Цель состоит в том, чтобы получить ниже 2 с скриптом и 4 с всем.Как вызвать микросервис без замедления ответа?
Микросервис и функциональность подвергаются воздействию gRPC.
Существует аутентификация клиентского сервера на основе TLS (экземпляры электронной торговли и мой сервис могут подтвердить, кто они). Это ест несколько миллисекунд.
При тестировании Go-client и Go-сервера с пулом из 20 подключений он достигает менее 35 мс на каждый запрос. В PHP каждый запрос занимает более 200 мс.
Можно ли:
- кэше подключения к услуге между запросами?
- вызовите методы RPC асинхронно?
Среди других решений я рассматриваю:
- Настройка локального прокси КПГР, который будет принимать только локальный GET запросы сделаны PHP скрипт и сделать их безопасной КПГР вызовов.
- Настройка прокси-сервера перед приложением PHP для вызова микросервиса.
- Вызов службы непосредственно с веб-сайта с помощью JavaScript (ставит нагрузку на браузер пользователя, необходимо поддерживать JavaScript).
Любые предложения?
да, один подход, чтобы пользователи _feel_ она загружается быстрее, фактически ускоряя ничего. Просто разделите нагрузку. Загрузите _something_ быстро, а затем заполните его контентом. –
Сайт раздувается с некоторыми сторонними усиливающими решениями. Длинный способ заставить его работать быстро. Теоретически, детали загружаются быстро, на практике я, как пользователь, чувствую, что это медленно. –
Вы можете настроить Varnish как слой кэширования и восстановления после отказа между хранилищем и дополнительными API. В качестве дополнительного бонуса вы можете использовать Larnish для загрузки запросов API баланса и действовать как менеджер трафика/маршрутизатор. В целом (и немного не по теме, извините): - Для магазина на базе PHP почти ничего не можно сделать на уровне PHP, за исключением (очевидно) использования opcache, удаления ненужных модулей .so, минимум и использовать последнюю версию. - В моем опыте с Magento, например, легкая победа в производительности была достигнута FPC с отверстиями +, doh, тонкой настройкой MySQL. – doharlem