시스템 튜토리얼 리눅스 한 번만 기록하고 strace를 사용하여 PHP가 너무 많은 시스템 리소스를 차지하는 문제를 진단하세요.

한 번만 기록하고 strace를 사용하여 PHP가 너무 많은 시스템 리소스를 차지하는 문제를 진단하세요.

May 03, 2024 pm 04:31 PM
linux php7 nginx access 리눅스 튜토리얼 레드햇 리눅스 시스템 리눅스 명령 리눅스 인증 빨간 모자 리눅스 리눅스 비디오

로컬 환경: redhat6.7 시스템. nginx1.12.1, php7.1.0, 코드는 yii2 프레임워크를 사용합니다

질문: 로컬 웹사이트는 Elasticsearch 서비스를 사용해야 합니다. PHP가 로컬 서버에 구축된 Elasticsearch를 사용하는 경우 로컬 로드는 정상입니다. AWS의 Elasticsearch 서비스를 사용할 때 로컬 서버의 부하가 너무 높은 경우가 많습니다. nginx 및 php 로그를 확인하고 예외가 없는지 확인하세요. 시스템의 동시 연결 수도 높지 않습니다. 이때 우리 상사가 알려준 추적 진단 도구가 생각났다.

디버깅 프로세스:

  • PHP 하위 프로세스 ID 찾기
  • strace -cp pid는 프로세스 호출을 추적합니다

당시 시스템 부하:

한 번만 기록하고 strace를 사용하여 PHP가 너무 많은 시스템 리소스를 차지하는 문제를 진단하세요.

추적 디버깅 프로세스

한 번만 기록하고 strace를 사용하여 PHP가 너무 많은 시스템 리소스를 차지하는 문제를 진단하세요.

여기서 우리는 PHP가 elasticsearch를 호출할 때 로컬에서 파일을 찾지만 이 파일은 존재하지 않는다는 것을 발견했습니다. 이로 인해 서버 부하가 높아집니다. aws elasticsearch와 local es 클러스터의 차이점을 비교합니다. 호출 방법만 다르다는 것을 알았습니다. 코드는 https 메서드를 사용하여 호출되므로 로컬에서 인증서 라이브러리 파일을 찾습니다. 바로 개발팀에 연락해서 호출 방식을 http로 변경했습니다. 한동안 관찰해보니 서버 부하가 정상으로 돌아왔습니다.

으아아아

한 번만 기록하고 strace를 사용하여 PHP가 너무 많은 시스템 리소스를 차지하는 문제를 진단하세요.

위 내용은 한 번만 기록하고 strace를 사용하여 PHP가 너무 많은 시스템 리소스를 차지하는 문제를 진단하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Stock Market GPT

Stock Market GPT

더 현명한 결정을 위한 AI 기반 투자 연구

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제

Huawei Harmonyos 6 시스템은 '다음'접미사를 취소합니다 : 그것은 미래에 Native Hongmeng이 될 것입니다. Huawei Harmonyos 6 시스템은 '다음'접미사를 취소합니다 : 그것은 미래에 Native Hongmeng이 될 것입니다. Sep 24, 2025 pm 04:12 PM

9 월 18 일 최신 뉴스 인 Huawei Harmonyos6은 개발자를위한 여러 라운드의 미리보기 버전 Push를 출시했으며 최근 처음으로 시도한 일부 사용자에게 경험 자격을 열었습니다. 사용자 피드백에 따르면, 현재 시스템 이름은 더 이상 "다음"접미사를 표시하지 않으며 공식적으로 Harmonyos6.0으로 이름이 바뀌 었습니다. 화웨이는 처음에 2023 년 8 월 개발자 컨퍼런스에서 Harmonyosnext라는 이름을 처음으로 제안하여 Hongmeng 시스템이 새로운 개발 단계에 들어가서 진정한 원시 자체 개발을 실현하는 것을 목표로했습니다. Harmonyosnext의 가장 핵심 획기적인 획기적인 것은 독립적으로 개발 된 기본 시스템 아키텍처를 완전히 채택하고 Linux 커널 및 Android ASP 코드를 완전히 제거하며 Harmonyos 커널을 기반으로 응용 프로그램 만 실행하는 것입니다.

PHP에서 싱글 톤 패턴을 구현하는 방법은 무엇입니까? PHP에서 싱글 톤 패턴을 구현하는 방법은 무엇입니까? Sep 25, 2025 am 12:27 AM

싱글 톤 패턴은 클래스에 인스턴스가 하나만 있고 단일 객체가 데이터베이스 연결 또는 구성 관리와 같은 시스템 작동을 조정하는 시나리오에 대한 글로벌 액세스 포인트를 제공합니다. 2. 기본 구조에는 다음이 포함됩니다. 개인 정적 속성 저장 인스턴스, 개인 생성기는 외부 생성을 방지, 개인 복제 방법을 복사하지 못하고 인스턴스를 얻기위한 공개 정적 방법 (getInstance ()). 3. getInstance () 메소드를 호출하여 PHP에서 고유 한 인스턴스를 얻고 몇 번이나 호출 되더라도 동일한 개체 참조를 반환합니다. 4. 표준 PHP 요청 모델에서 스레드 안전을 고려할 필요는 없지만, 동기화 문제는 장기 또는 다중 스레드 환경에서주의를 기울여야하며 PHP 자체는 기본 잠금 메커니즘을 지원하지 않습니다. 5. 싱글 톤은 유용하지만

PHP에서 Null Coalescing 연산자 (??)을 사용하는 방법? PHP에서 Null Coalescing 연산자 (??)을 사용하는 방법? Sep 25, 2025 am 01:28 AM

답변 : PHP의 빈 합병 연산자 (??)은 변수 또는 배열 키가 존재하고 무효가 아닌지 확인하는 데 사용됩니다. 사실이라면 값을 반환하고 그렇지 않으면 기본값을 반환합니다. 긴 ISSET () 점검을 사용하는 것을 피하고, $ username = $ userInput ?? 'Guest'와 같은 정의되지 않은 변수 및 배열 키를 처리하는 데 적합하며, $ teme = $ usertheme ?? $ defaulttheme ?? 'Dark'와 같은 체인 호출을 지원합니다. 양식, 구성 및 사용자 입력에 특히 적합한 경우, emull values, emply vallys, emply values, excluds and excluds is allud valluds is allud valluds.

PHP 클래스에서 인터페이스를 구현하는 방법은 무엇입니까? PHP 클래스에서 인터페이스를 구현하는 방법은 무엇입니까? Sep 25, 2025 am 05:34 AM

Amplements 키워드를 사용하여 인터페이스를 구현하면 클래스는 인터페이스에서 모든 메소드의 특정 구현을 제공해야합니다. 2. 인터페이스 키워드를 사용하여 메소드를 선언하려면 인터페이스를 정의하십시오. 3. 클래스는 인터페이스를 구현하고 메소드를 무시합니다. 4. 객체를 생성하고 메소드를 호출하여 결과를 출력하십시오. 5. 클래스는 여러 인터페이스를 구현하여 코드 사양 및 유지 관리 가능성을 보장 할 수 있습니다.

Chrome Browser_Tutorial에서 크롬 북마크 바 영구 디스플레이를 설정하기위한 Krome Browser_Tutorial에 계속 표시되는 방법 Chrome Browser_Tutorial에서 크롬 북마크 바 영구 디스플레이를 설정하기위한 Krome Browser_Tutorial에 계속 표시되는 방법 Sep 24, 2025 am 10:33 AM

크롬의 오른쪽 상단에있는 3 도트 메뉴를 클릭하고 "책갈피"를 선택하여 책갈피 막대를 복원 할 수 있습니다. 2. Ctrl Shift B (Wind 3. "Show Bookmark Bar"가 설정 페이지의 "모양"에서 "항상 표시"로 설정되어 있는지 확인하십시오. 4. 유효하지 않은 경우 브라우저 설정을 재설정하여 기본 상태를 복원 할 수 있습니다.

PHP와 함께 HTML 양식으로 Get 및 Post 메소드를 사용하는 방법은 무엇입니까? PHP와 함께 HTML 양식으로 Get 및 Post 메소드를 사용하는 방법은 무엇입니까? Sep 25, 2025 am 03:46 AM

GET 메소드는 데이터를 URL에 첨부하는데, 이는 민감하지 않은 정보에 적합합니다. Post 메소드는 요청 본문을 통해 데이터를 보냅니다. 이는 민감한 정보에보다 안전하고 적합합니다.

PHP의 XSS를 방지하기 위해 사용자 입력을 소독하는 방법은 무엇입니까? PHP의 XSS를 방지하기 위해 사용자 입력을 소독하는 방법은 무엇입니까? Sep 25, 2025 am 05:19 AM

topreventxssinphp, sanitizeuserinputandescapeoutputputbasedoncontextusinghtmlspecialchars () forhtml, json_encode () forjavaScript, andvalidatestrictlywithfilter_var () forexpectedDatatypes, forexpectedDatatypes, whileeavercitordOningfolounsOningContOnsOningContOnsOningContOnsOningContOctionContOningContOningContOctionContOningContOningContOningContOndEr

2T 이상의 하드 드라이브를 사용할 수 없다면 어떻게해야합니까? 2T 이상의 하드 드라이브를 사용할 수 없다면 어떻게해야합니까? Sep 24, 2025 am 11:36 AM

오늘 친구는 4TB의 하드 디스크 용량을 가진 새 데스크탑 컴퓨터를 구입했지만 Windows 7을 설치 한 후 2TB의 공간 만 인식 할 수 있습니다.이 문제를 해결하는 방법은 무엇입니까? 이 질문에는 MBR 모드와 파티션 테이블의 GPT 모드의 차이가 포함됩니다. 자세히 살펴 보겠습니다. 1. 왜 이런 일이 발생합니까? Windows 7은 기본적으로 MBR 파티션 모드를 사용하며 MBR은 최대 2TB의 저장 공간 만 지원할 수 있습니다. MBR의 전체 이름은 MasterBootrecord (메인 부트 레코드)입니다. MBR 파티션 표는 섹터 당 512 바이트를 사용하고 32 비트 주소 지정 방법을 채택하므로 액세스 할 수있는 최대 디스크 용량은 2.19TB (2^32*512Byte)입니다. 창 때문에

See all articles