baltun
Администратор
		- Сообщения
- 12.854
- Реакции
- 3.250
- Баллы
- 1.833
Буду краток проходим тестирование:
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
При этом nginx нормально настроен но падает с ошибкой 502 Bad Gateway. Причина либо превышено максимальное кол-во соединений к сокету либо максимальное кол-во не обработанных соединений к сокету.
Проверяем лимиты:
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Нас интересуют строки:
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Из-за них и происходит ошибка, так как максимальное кол-во соединений 128 а максимум не обработанных 200
Меняем лимиты, в файл /etc/sysctl.conf прописываем строки:
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Применяем параметры:
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Перезапускаем php-fpm:
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Проводим тестирование:
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Теперь nginx не падает и обрабатывает соединения, но появился вопрос как избавится от большого количества Failed requests не обработанных запросов.
Для этого требуется изменить параметр php-fpm.d:
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Тогда при выполнении команды выше Failed requests будет в моем случае всего 1.
				
			
			
				Код:
			
		
		
		ab -k -c 200 -n 2000 https://localhost.ruПроверяем лимиты:
			
				Код:
			
		
		
		sysctl net.coreНас интересуют строки:
			
				Код:
			
		
		
		net.core.somaxconn = 128
net.core.netdev_max_backlog = 200Меняем лимиты, в файл /etc/sysctl.conf прописываем строки:
			
				Код:
			
		
		
		net.core.somaxconn = 20000
net.core.netdev_max_backlog = 65535
fs.file-max = 500000Применяем параметры:
			
				Код:
			
		
		
		sysctl -pПерезапускаем php-fpm:
			
				Код:
			
		
		
		service php-fpm restartПроводим тестирование:
			
				Код:
			
		
		
		ab -k -c 400 -n 2000 https://localhost.ruДля этого требуется изменить параметр php-fpm.d:
			
				Код:
			
		
		
		pm.max_children = 100
			
				Последнее редактирование: 
			
		
	
								
								
									
	
								
							
							 
				