이 기사는 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에서 제공하는 매직 함수의 성능이 낮습니다.성능이 낮은 이유는 무엇입니까? PHP 프로그래머의 수고를 덜기 위해 PHP 언어는 많은 일을 해냈습니다좋은 방법: 피하세요 PHP 마법 함수를 최대한 사용합니다
PHP는 오류 억제기를 비활성화합니다
@의 실제 논리
php -dv|d.active=1 -dv|d.execute=0 at.php그냥 확인하고 싶은 것이지 별로 원하지 않는 것입니다 실행 PHP-합리적인 메모리 및 정규식 사용 최적화 포인트 : 메모리를 합리적으로 사용PHP에는 메모리 재활용 메커니즘이 보장되어 있지만 메모리도 신중하게 사용하시기 바랍니다좋은 조언
unset( ) 사용하지 않는 메모리를 제때에 해제하려면 (참고: unset()은 로그아웃하지 못할 수도 있습니다)
정규 표현식을 가능한 한 적게 사용하세요정규 표현식에는 역추적 오버헤드가 큽니다.
<?php $str = "hello world"; for($i=0;$i<strlen($str);$i++) { //do something }PHP - 계산 집약적인 업무를 줄입니다
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
추천하는 swoole 확장
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。


핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

Dreamweaver Mac版
시각적 웹 개발 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경
