Я работаю в небольшой компании.У нас есть два сервера, развернутые в разных местах для разрешения доменных имен.Экземпляр nginx развертывается на каждом сервере для разрешения доменного имени с помощью обратного прокси-сервера и перенаправления запроса на бизнес-сервер.
Я обнаружил, что при стресс-тестировании доступ к службам через два сервера nginx может привести кзначительное снижение производительности.
Итак, я провел несколько тестов на машине (Debain8.9 | E5-2643 v4 | 8G):
Сервер Golang fasthttp, выдерживаетболее 4K параллелизма, пропускная способность достигла 45K.
Экземпляр Nginx может выдержать нет более 4K параллелизма, пропускная способность достигла 55K.
Служба обратного прокси-сервера Gginang экземпляра Nginx, может выдержать нет более 2К параллелизма, пропускная способность достигла 14K.
При использовании Nginx, если я установилслишком высокий уровень параллелизма, я получил ошибку:
dialing to the given TCP address timed out
Я пытался оптимизировать конфигурацию nginx и конфигурацию TCP системы, но это не сработало.
Я читал некоторые блоги из Интернета,они говорятв Nginx может выдержать 100K больше параллелизма.Но я могу получить только 14K в тестовом примере 3.
Я хочу знать, как это сделать?