Реагировать на производительность во время связи с API - 1 вызов-2 с против 262 вызовов-макс 0,3 с - PullRequest
0 голосов
/ 02 июля 2018

Я занимаюсь разработкой приложения React, которое взаимодействует с PHP JSON API. И я сравниваю производительность моего приложения с производительностью веб-страницы Amazon.

Мое приложение:

  • Браузер, веб-сервер и PHP-сервер (платформа Yii2) находятся на одном компьютере
  • Приложение React выполняет 1 вызов API, который длится 2 с для загрузки 20 КБ данных (если данные о нескольких байтах, тогда «ожидание (TTFB)» составляет почти 2 с, а «Загрузка контента» - 0,0001 с; если данные о 20 КБ, затем «ожидание (TTBF)» составляет около 0,4 с, а «Загрузка контента» - 1,4 с).
  • Загрузка страницы завершена в течение 3 с, то есть длительное время и плохой опыт.

Веб-страница Amazon:

  • Сервер удалён, конечно.
  • Загрузка страницы делает около 262 вызовов, каждый из них длится не более 0,3 с, многие из них меньше.
  • Загрузка страницы завершена в течение 1,5 с, опыт совершенен.

Как понять эту разницу в производительности. Могу ли я обвинить мой сервер PHP в неправильной конфигурации из-за недостатка ресурсов? Моя машина разработки имеет 4 ГГц процессор с 8 виртуальными ядрами, 16 ГБ RAB, очень низкие ресурсы используются фоновыми сервисами. Даже простой ответ от PHP-сервера с 2 байтами занимает почти 2 секунды. Это проблема конфигурации плохого программного сбоя?

1 Ответ

0 голосов
/ 02 июля 2018

Это может быть плохая конфигурация, но я бы начал с проверки инструмента отладчика, который поставляется с Yii, и выяснил, сколько времени тратится на каждую операцию, чтобы узнать, нет ли вначале ошибок в коде или запросах к базе данных. Производительность связана не только с машинными ресурсами. Существуют передовые методы оптимизации, кеширование, балансировка нагрузки, использование CDN, ... Но 3с все равно слишком длинный и требует исследования, чтобы выяснить, на что он потрачен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...