Сделал файл /api/index.php
echo "x"; exit;После этого обращаюсь к нему:
/api/index.php
$max = 5;
for($i = 0; $i < $max; $i++)
{
$url = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]" . "/api/temp";
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, $url);
curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
echo curl_exec($curl_handle);
curl_close($curl_handle);
}
Если увеличивать $max до 7..10..15 в какой-то момент всё встаёт. И ответ перестаёт приходить.В реальном коде ведь может быть много разных RestAPI запросов, это вызывает полное засыпание сайта...
Как это можно исправить?
Настройки nginx:
location /api {
rewrite ^/api/(.*)$ /api/index.php?_url=/$1;
}
Крутил и таймауты, и количество соединений и кэши, буфера... Один и тот же результат. При повышение количества запросов - сервер зависает. Использовал разные версии nginx, php... Везде одна и та же картина. При малом количестве запросов - проходит, увеличиваю количество - зависает.Пока висит nginx, попытка обращаться на другие страницы приводит к ошибке 503.
"Ошибка 503 Сервис временно недоступен Попробуйте через несколько минут..."
