이 기사는 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 내장 함수 간 성능 테스트의 코드 테스트
isset($arr[$i]); //平均50ms array_key_exists($i,$arr);//平均85ms
PHP는 오류 억제기를 비활성화합니다
@의 실제 논리
php -dv|d.active=1 -dv|d.execute=0 at.php
unset( ) 사용하지 않는 메모리를 제때에 해제하려면 (참고: unset()은 로그아웃하지 못할 수도 있습니다)
정규 표현식을 가능한 한 적게 사용하세요정규 표현식에는 역추적 오버헤드가 큽니다.
<?php $str = "hello world"; for($i=0;$i<strlen($str);$i++) { //do something }
PHP는 계산 집약적인 시나리오에는 적합하지 않습니다
PHP 언어 특성상 PHP는 대용량 데이터 계산에 적합하지 않습니다
PHP는 시나리오에 적합합니다
연결에 적합합니다 웹 서버 및 지원 서비스, UI 프리젠테이션
PHP - 따옴표 붙은 문자열을 키 값으로 사용하세요.
PHP는 따옴표 안의 키 값을 상수로 처리하므로 상수를 찾는 오버헤드가 발생합니다
일반적인 PHP 시나리오의 오버헤드 순서:디스크 읽기 및 쓰기 읽기 및 쓰기 데이터베이스 읽기 및 쓰기 메모리 읽기 네트워크 데이터 쓰기
메모리 읽기 및 쓰기 < 불확실한 요인2 네트워크 안정성
네트워크 요청 최적화
1 시간 초과 시간 설정
연결 시간 초과 200ms
읽기 시간 초과 800ms쓰기 시간 초과 500ms
2 직렬 요청 병렬화
1 cur_multi_*()
2 swoole 확장 사용 curl_multi_*()不是很好,因为他是按最长的一个返回的时间来定的
curl_multi_add_handle 向curl批处理会话中添加单独的curl句柄
curl_multi_close 关闭一组cURL句柄
curl_multi_exec 运行当前cURL句柄的子连接
curl_multi_getcontent 如果设置了CURLOPT_RETURNTRANSFER,则返回获取的输出的文本流
curl_multi_info_read 获取当前解析的cURL的相关传输信息
curl_multi_remove_handle 移除curl批量处理句柄资源中的某个句柄资源
curl_multi_select 等待所有cURL批处理中的活动连接
curl_multi_setopt Set an option for the cURL multi handle
curl_multi_strerror - Return string describing error code
PHP 출력 압축의 장단점
PHP 인터페이스의 출력 압축
압축하는 방법?
그냥 Gzip을 사용하세요
장점 데이터 출력에 좋고 클라이언트가 데이터를 더 빠르게 얻을 수 있습니다
단점 추가 CPU 오버헤드
#🎜🎜 # 겹치는 시간 창 아이디어
Serial:
Process1 Process2 Process3 Process4
겹치는 시간 창:
process1# 🎜🎜 #process2
process3process4
후자의 작업이 이전 작업에 크게 의존하지 않는 경우 겹치는 시간을 사용할 수 있습니다
PHP 우회 처리 솔루션
일반적으로 말하면: x.php -> Process1 ->process2 ->process3 -> 🎜🎜#우회 솔루션: x.php -> Process1 ->process2(동시) ->Process3(동시) -->Process4->
위 내용은 PHP 성능 최적화에 대한 이론적 지식 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!