>  기사  >  백엔드 개발  >  PHP 성능 최적화에 대한 이론적 지식 설명

PHP 성능 최적화에 대한 이론적 지식 설명

不言
不言앞으로
2019-02-12 13:53:192638검색

이 기사는 PHP 성능 최적화에 대한 이론적 지식을 제공합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

어떤 상황에서 PHP 성능 문제가 발생합니까?

1 PHP 구문의 부적절한 사용
2 PHP 언어를 사용하면 잘 못하는 일을 할 수 없다
3 PHP 언어로 연결된 서비스가 강하지 않다
4 PHP 자체의 단점
5 나도 모르는 문제

성능 문제 분석

PHP 성능 문제는 전체 프로젝트 성능 문제의 50% 미만을 차지합니다.

성능 최적화 프로젝트는 PHP 최적화에만 국한되지 마세요

php 언어 수준 성능 최적화
                             성능 PHP 주변기기 문제 최적화
                                                                                                      스트레스 ache 소프트웨어에서 제공하는 테스트에는 Apache 서버 설치 시 스트레스 테스트 소프트웨어가 포함됩니다.

사용 방법은?

./ab -n1000 -c100 http://www.baidu.com/
-n 요청 수
-c 동시성 수

url 대상 스트레스 테스트 주소 PHP-스트레스 테스트 도구 사용법 시연

주로 각각에 집중 동시성 최대화

요청에 가능한 한 적은 시간이 소요됨

PHP 자체 기능을 더 많이 사용


최적화: 코드 작성을 줄이고 PHP 자체 기능을 더 많이 사용

성능 문제: 자체 코드 중복이 많고 가독성이 좋지 않음 좋음, 그리고 성능이 낮음

왜 성능이 낮나요?

PHP 코드는 기본 언어로 컴파일되고 파싱되어야 하며, 이 프로세스는 비용이 많이 듭니다.

좋은 방법:

더 많은 PHP 내장 변수 상수 함수 사용

PHP 자체 능력 성능 테스트를 위한 코드 준비

php 코드 실행 프로세스

*.php ---스캐너---> - -Parser--->Opcodes---Exec--->Output

PHP 내장 함수 간 성능 테스트

최적화 포인트: PHP 내장 함수의 성능 장점과 단점

상황 설명: php 내장 함수 사이에 여전히 속도 차이가 있습니다

좋은 제안: PHP 내장 함수의 시간 복잡도에 대해 자세히 알아보세요

PHP 내장 함수 간 성능 테스트의 코드 테스트

isset($arr[$i]); //平均50ms
array_key_exists($i,$arr);//平均85ms
속도를 줄이세요 PHP 매직 함수 사용 상황 설명: PHP에서 제공하는 매직 함수의 성능이 낮습니다.

성능이 낮은 이유는 무엇입니까? PHP 프로그래머의 수고를 덜기 위해 PHP 언어는 많은 일을 해냈습니다

좋은 방법: 피하세요 PHP 마법 함수를 최대한 사용합니다


PHP는 오류 억제기를 비활성화합니다

@의 실제 논리

코드 시작과 끝 전후에 Opcode를 추가합니다. 오류는 무시합니다

php -dv|d.active=1 -dv|d.execute=0 at.php

그냥 확인하고 싶은 것이지 별로 원하지 않는 것입니다 실행

PHP-합리적인 메모리 및 정규식 사용

최적화 포인트 : 메모리를 합리적으로 사용

PHP에는 메모리 재활용 메커니즘이 보장되어 있지만 메모리도 신중하게 사용하시기 바랍니다

좋은 조언


unset( ) 사용하지 않는 메모리를 제때에 해제하려면 (참고: unset()은 로그아웃하지 못할 수도 있습니다)
정규 표현식을 가능한 한 적게 사용하세요정규 표현식에는 역추적 오버헤드가 큽니다.

좋은 조언:

문자열을 사용하세요 동일한 로직을 구현하는 함수 처리

PHP - 루프 내에서 작업을 피하세요

최적화 포인트 : 루프 내에서 계산을 피하세요

상황 설명:

루프 내 계산식이 반복적으로 계산됩니다

코드 예:

<?php
$str = "hello world";
for($i=0;$i<strlen($str);$i++)
{
    //do something
}

PHP - 계산 집약적인 업무를 줄입니다

PHP는 계산 집약적인 시나리오에는 적합하지 않습니다

PHP 언어 특성상 PHP는 대용량 데이터 계산에 적합하지 않습니다

PHP는 시나리오에 적합합니다

연결에 적합합니다 웹 서버 및 지원 서비스, UI 프리젠테이션

PHP - 따옴표 붙은 문자열을 키 값으로 사용하세요. ​

PHP는 따옴표 안의 키 값을 상수로 처리하므로 상수를 찾는 오버헤드가 발생합니다

엄밀히 말하면 인용된 문자열을 키 값으로 사용

PHP 관련 문제 분석 및 설명

PHP의 주변 장치는 무엇입니까?

linux 운영 환경 php 하드 디스크(파일 저장소) 데이터베이스(예: mysql) 캐시 네트워크

PHP 주변 장치가 PHP 프로그램에 미치는 영향 분석

파일 작업 감소

일반적인 PHP 시나리오의 오버헤드 순서:디스크 읽기 및 쓰기 읽기 및 쓰기 데이터베이스 읽기 및 쓰기 메모리 읽기 네트워크 데이터 쓰기

메모리 읽기 및 쓰기 59631d0e86cdebc26905ba4970ab489c Process1 ->process2 ->process3 -> 🎜🎜#우회 솔루션: x.php -> Process1 ->process2(동시) ->Process3(동시) -->Process4->

위 내용은 PHP 성능 최적화에 대한 이론적 지식 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제