내 서버(웹을 제공하는 nginx가 있는 CentOS)에 "ss" 프로세스가 너무 많은 이유는 무엇입니까?

내 서버(웹을 제공하는 nginx가 있는 CentOS)에 "ss" 프로세스가 너무 많은 이유는 무엇입니까?

동시접속자는 약 500명 정도 됩니다. 소셜 네트워크의 일부 유명인들이 링크를 다시 게시했기 때문입니다.

이런 일이 전에 일어났습니다. 그리고 우리 서버의 성능은 좋았습니다.

그런데 이번에는 서버 속도가 너무 느려지고 부하도 엄청 높다는 걸 느꼈습니다. 이 그림에서는 로드가 83.22에 불과하지만 재부팅했기 때문입니다. 리부팅하기 전엔 600+입니다(이 글 수정하고 보니 200+까지 오르고 있고, 아직도 오르고 있으니 곧 600이 넘을 것 같아요)

나는 "ss" 프로세스가 너무 많다는 것을 알아차렸습니다. 그것들은 무엇입니까? 이 사건에 대한 추가 조언이 있습니까?

감사해요!

여기에 이미지 설명을 입력하세요

업데이트: 이 질문을 게시한 후 점점 더 높아집니다.

여기에 이미지 설명을 입력하세요

업데이트:

이 "ss"의 출처를 찾으려고 했지만 내용은 다음과 같습니다.

여기에 이미지 설명을 입력하세요

업데이트: 다음에 대한 다른 사진을 추가했습니다.ps auxw

업데이트:

다음을 사용 ps aux | grep ss하고 나열했습니다.

/bin/sh -c ss -nlp | grep "[,=]27846," || netstat -nlp | grep "[[:space:]]27846/"

여기에 이미지 설명을 입력하세요

답변1

ps auxw또는를 사용 ps -ef하고 상위 프로세스 식별자(PPID) 열을 확인하세요.

둘 다 netstat및 그 후속 제품은 ss주로 모니터링에 사용됩니다. 이는 백그라운드 서비스가 아닌 일반 관리 도구입니다. 당신이 보는 행동은 정상적이지 않습니다. 내 생각에는 PPID가 이를 생성하는 모든 프로세스로 연결될 것이라고 생각합니다. (PPID가 1인 경우를 제외하고 이는 일반적으로 부모가 이미 사망했음을 의미합니다.)

답변2

귀하의 웹 사이트에는 네트워크 연결 수를 얻기 위해 ss 또는 netstat를 호출하게 하는 일종의 '현재 뷰어'/'현재 연결' 후크가 있어야 합니다. 이는 각 페이지를 로드할 때마다 수행해야 하는 매우 무거운 작업입니다.

관련 정보