Жрать медленно на кузнице и усадьбе

Я не понимаю, почему запросы на жадность очень медленны в Laravel Forge и Laravel House. Я не изменил конфигурацию сервера по умолчанию в кузнице и усадьбе.

Каждый простой запрос, как этот …

$client = new GuzzleHttp\Client();
$response = $client->get('path-to-my-api');

… занимает около 150 мс (на усадьбе и кузнице). Это добавляется к каждому запросу (та же сеть или Интернет). Я прочитал несколько постов о жрете, и это кажется очень быстрым для каждого пользователя, но не для меня.

Версии:

  • curl 7.35.0 (x86_64-pc-linux-gnu) libcurl / 7.35.0 OpenSSL / 1.0.1f zlib / 1.2.8 libidn / 1.28 librtmp / 2.3
  • Версия PHP 5.6.0
  • Жрать 5.1.0

Что-то действительно странное в том, что когда я делаю это (асинхронно) …

$req = $client->createRequest('GET', 'path-to-my-api', ['future' => true]);

$client->send($req)->then(function ($response) {
});

… это занимает около 10 мс. Это здорово, но я не понимаю почему. И я не хочу выполнять асинхронные запросы.

Может быть, мое измерение времени глючит, но я думаю, что все в порядке: я использую панель отладки PHP следующим образом:

// .....

// synch
Debugbar::startMeasure('synch','SYNCH Request');
$response = $client->get('path-to-my-api');
Debugbar::stopMeasure('synch');

// asynch
Debugbar::startMeasure('asynch','ASYNCH Request');
$req = $client->createRequest('GET', 'path-to-my-api', ['future' => true]);

$client->send($req)->then(function ($response) {
Debugbar::stopMeasure('asynch');
});

Я знаю, что нелегко ответить на этот вопрос (потому что он расплывчатый), но пока я понятия не имею :(. Я могу отредактировать его, если хотите. Большое спасибо.

5

Решение

Жрет не может быть медленным — это просто библиотека. Ваши синхронные запросы, вероятно, занимают больше времени, потому что ваш API требует много времени для ответа, а ваши асинхронные запросы, кажется, быстрее, потому что он не блокирует сеть, пока не получит ответ.

Попробуйте вызвать API непосредственно в вашем браузере или использовать cURL в своем терминале — вы, вероятно, обнаружите задержку.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]