Сделал файл /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 Сервис временно недоступен Попробуйте через несколько минут..."