약 400개의 클라이언트로 공용 프록시를 실행하고 있는데 로그 파일을 확인하면 다음과 같습니다.
/var/etc/privoxy/logfile
나는 다음을 많이 얻습니다:
추가 연결은 불가능합니다.
/etc/privoxy/config
100000000000000으로 설정했지만 여전히 max-client connections
오류가 발생합니다. 무슨 일이야? 내 서버는 강력하며 인터넷 연결에 지연이나 문제가 발생하지 않습니다.
구성 파일에는 연결이 서버의 리소스로 제한되어 있다고 나와 있는데 여기서는 그렇지 않은 것 같은데요?
답변1
dmesg
로그에 메시지가 있나요? 또한 기본 운영 체제 배포판은 무엇입니까? 귀하의 커널이 기본 설정을 사용하여 구성되었을 수 있으며 파일 설명자 또는 상자의 일부 제한된 리소스를 늘려야 할 수도 있습니다.
예를 들어
이 명령은 커널이 열 수 있는 최대 파일 수를 표시합니다.
$ cat /proc/sys/fs/file-max
309210
이 명령은 사용 중인 사용 가능한 리소스 수를 보여줍니다.
$ cat /proc/sys/fs/file-nr
5568 0 309210
Where:
5568 The number of allocated file handles.
0 The number of unused-but-allocated file handles.
309210 The system-wide maximum number of file handles.
따라서 위의 경우에는 사용 가능한 파일 핸들이 매우 많습니다.
최대 설명자 수를 늘리려면 다음 명령을 사용하여 라이브 시스템에서 이를 수행할 수 있습니다.
sudo sysctl -w fs.file-max=400000
재부팅부터 재부팅까지 기본값으로 설정하려면 다음을 수행하세요.
vim /etc/sysctl.conf
그리고 다음 줄을 추가하세요:
fs.filemax=400000
추가 sysctl 매개변수
위의 문제는 발생할 수 있는 문제입니다. 주어진 시스템의 리소스를 제한하는 많은 매개변수가 커널에 구성되어 있습니다. 다음 명령을 사용하면 전체 매개변수 목록을 볼 수 있습니다.
sysctl -a
여기서 값을 임의로 변경하지 마세요! 제한을 초과하여 설정되어 있는지 조사한 privoxy
다음 이 매개변수를 높여 문제가 해결되는지 테스트해 보세요.
또한 이 리소스를 모두 소모하는 것이 합리적인지 이해하려고 노력하십시오. 파일 설명자가 부족한 경우 임의로 더 높은 값으로 늘리지 마십시오. 열린 파일이 제대로 해제되지 않았 는지 확인하는 것이 privoxy
맹목적으로 제한을 높이는 것보다 문제를 해결하는 더 좋은 방법입니다.