머리말
저는 개인적으로 여전히 PHP5.6을 사용하고 있으며 7.3은 순전히 테스트용입니다. 왜냐하면 PHP7은 이미 강력한 타이핑을 지원하고 더 이상 문자열 기반 함수 호출 방법을 지원하지 않기 때문입니다. 그래서 제 개인 프로젝트의 PHP 버전이 멈췄습니다. 5.6.
저는 최근에 PHP 5.6, 7.3과 Tomcat 7, 8, 9를 속도 측면에서 시험해보고 싶습니다. 이전에 PHP가 데이터베이스를 더 빠르게 작동하는 반면 Java는 비즈니스 로직을 더 빠르게 처리한다는 기사를 읽었습니다. 비즈니스 로직을 Java에 맡기고, 데이터베이스 운영을 PHP에 맡기고 싶습니다.
하지만 이렇게 하면 속도가 더 빨라지나요? 비교해 보면 데이터 자체가 말해줍니다!
그나저나 저는 서버 관리를 위해 Pagoda 패널을 사용하고 있으며, 모든 서비스 소프트웨어 설치는 Pagoda 패널에서 이루어집니다.
테스트 서문
테스트 중에 Tomcat7과 8.5의 결과가 유사하다는 것을 알았습니다. 9에서도 동일한 결과가 나올 것으로 추정되므로 Tomcat9은 테스트하지 않겠습니다. Tomcat 부분은 비즈니스 로직 처리에서 7과 8.5만 테스트하고 나머지는 8.5
서버 구성
● 시스템: CentOS Linux 7.6.1810(Core)
● Pagoda 버전: 6.9.8
● 제조업체: Baidu 지능형 클라우드
● 유형: 집중 컴퓨팅 ic3
● CPU: 1 코어
● 메모리: 1GB
속도 비교
비즈니스 로직 처리 속도
0에서 1000까지 추가 0000
PHP5.6
<?php $time_start = microtime(true); $count = 0; for ($i = 0; $i < 10000000; ++ $i) { $count += $i; } $time_end = microtime(true); echo ($time_end - $time_start); // 结果:0.34648394584656
결과: 0.34648394584656
PHP7.3
<?php $time_start = microtime(true); $count = 0; for ($i = 0; $i < 10000000; ++ $i) { $count += $i; } $time_end = microtime(true); echo ($time_end - $time_start); // 结果:0.12653613090515
결과: 0.12653613090515
결론: PHP7.3은 비즈니스 로직 처리에서 5.6보다 3배 빠릅니다
Tomcat7
<% java.util.Date d1 = new java.util.Date(); long start_time = d1.getTime(); // 单位:毫秒 long count = 0; for (long i = 0; i <= 10000000; ++ i) { count += i; } java.util.Date d2 = new java.util.Date(); long end_time = d2.getTime(); // 单位:毫秒 out.println(end_time - start_time); // 结果:17毫秒 %>
결과: 17밀리초, 몇 번 더 새로 고침하면 4~5밀리초가 됩니다. 주로 4밀리초입니다.
Tomcat8.5
결과: 99밀리초, 몇 번 더 새로 고침하면 4밀리초가 됩니다
비즈니스 논리 테스트 요약
결국 Java는 반컴파일되고 반해석되는 언어이므로 빠른 것이 정상입니다. PHP7은 100밀리초 이상에 도달했지만 PHP5는 조금 느려서 300밀리초만 넘었습니다.
데이터베이스 IO 테스트PDO의 준비 및 실행 테스트 사용PHP5.6
● INSERT는 10000개의 행을 삽입합니다: 37.575320005417초 ● SELECT는 10000개의 행을 읽습니다: 0.01023697 8530884초 ● SELECT 루프는 10000행을 읽습니다: 1. 0460438728333초 ● UPDATE 업데이트 10000개 행: 0.044967889785767초 ● 10,000개 행 업데이트를 위한 UPDATE 루프: 36.463224887848초 ● 10,000개 행 삭제를 위한 DELETE: 0.0 34432888031006초 ● 10,000개 행을 삭제하는 DELETE 루프: 37.198384046555초
PHP7.3
● INSERT는 10,000개 행을 삽입합니다: 33.949599027634초 ● SELECT는 10,000개 행을 읽습니다: 0.021260023117065초 ● SELECT 루프는 10,000개 행을 읽습니다: 1.0032389 163971초 ● UPDATE 업데이트 10,000개 행: 0.040410995483398초● UPDATE 루프 10,000개 행 업데이트: 36.759881019592초 ● DELETE는 10,000개 행 삭제: 0.046122074127197초 ● 10,000개 행을 삭제하는 DELETE 루프: 35.682950973511초
PHP 요약: 데이터베이스 IO에는 버전 차이가 거의 없으며 단일 명령문을 실행합니다.
Tomcat8.5
컴파일 전 1차 실행, 컴파일 후 2차 실행 ● INSERT는 10,000줄 삽입: 컴파일 전: 39.738초, 컴파일 후: 37.104초 ● SELECT는 10,000줄 읽기: 컴파일 전: 0.079초, 컴파일 후: 0.028초 ● SELECT 루프는 10,000행 읽기: 컴파일 전: 2.303초, 컴파일 후: 1.775초 ● UPDATE 업데이트 10,000 행: 컴파일 전: 0.060초, 컴파일 후: 0.040초 ● UPDATE 루프 업데이트 10,000줄: 컴파일 전: 43.326초, 컴파일 후: 40.847초 ● DELETE는 10,000줄 삭제: 첫 번째 실행: 0.137초 ● DELETE 루프는 10,000줄을 삭제합니다. 첫 번째 실행: 40.597초요약: Java에는 강력한 비즈니스 로직 기능이 있지만 데이터베이스 IO 속도는 PHP보다 느리고 PHP의 경우 그 반대입니다.
하이브리드 개발 테스트
비즈니스 로직은 Java로 작성되었으며, PHP는 CURL을 통해 Java를 호출하고, 테스트 속도결과:
첫 번째 테스트: 0.51814317703247초두 번째 테스트: 0.016 547918 319702초
요약:
첫 번째 테스트는 Java 측을 컴파일해야 하기 때문에 시간이 걸릴 수 있지만 두 번째 테스트는 더 이상 컴파일할 필요가 없으므로 매우 빠릅니다. 이후 몇 가지 테스트를 진행한 결과 모두 만족스러웠고, 속도도 PHP7보다 10배 정도 빨랐습니다. 단, 혼합 개발의 단점은 개발 효율성이 높지 않아 더 많은 함정을 초래할 수 있다는 점이지만, 운영 측면에서는 각각 장점이 있을 수 있습니다. 저는 개인적으로 이에 대해 중립적인 태도를 갖고 있으며, 이를 권장하거나 반대하지 않습니다. 왜냐하면 다양한 프로젝트에 관련 요구 사항이 있을 수 있고 이 방법이 최선의 선택일 수 있기 때문입니다.위 내용은 PHP5.6과 7.3, Tomcat7과 8.5의 속도 비교의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기
