웹사이트 성능 테스트를 위해 PHP와 Lighthouse를 사용하는 방법
웹 개발자로서 귀하는 사용자 경험과 검색 엔진 순위에 대한 웹사이트 성능의 중요성을 알아야 합니다. 고성능 웹사이트를 유지하려면 정기적인 성능 테스트를 통해 웹사이트 성능을 감지하고 최적화해야 합니다. 자, 이번 글에서는 웹사이트 성능 테스트를 위해 PHP와 Lighthouse를 사용하는 방법을 소개하겠습니다.
Lighthouse는 웹 애플리케이션의 품질과 성능을 테스트하기 위해 Google에서 개발한 오픈 소스 도구입니다. 웹페이지의 속도를 테스트할 뿐만 아니라 접근성, 모범 사례 및 검색 엔진 최적화도 평가합니다. 일반적으로 Chrome 브라우저에서 Lighthouse를 사용할 수 있지만 Lighthouse 테스트를 CI/CD 파이프라인 또는 스크립트에 통합해야 하는 경우 PHP가 좋은 선택입니다.
먼저 PHP가 설치되어 있는지 확인하고 PHP에 대한 기본 지식이 있어야 합니다. 다음으로 Lighthouse PHP 패키지를 설치해야 합니다. 터미널에서 다음 명령을 사용하여 수행할 수 있습니다:
composer require nunomaduro/laravel-mix-phplighthouse --dev
여기에서는 Lighthouse 테스트를 실행하기 위한 간단하고 쉬운 명령을 제공하고 Laravel Mix와 쉽게 통합될 수 있는 nunomaduro/laravel-mix-phplighthouse 패키지를 사용하고 있습니다. Laravel Mix를 사용하지 않는 경우 다른 PHP Lighthouse 패키지 사용을 고려해보세요.
설치가 완료되면 Lighthouse의 일부 구성 옵션을 설정해야 합니다. 프로젝트의 루트 디렉터리에 lighthouse.php 파일을 만들고 다음 콘텐츠를 추가합니다.
<?php return [ 'temp_dir' => 'storage/app/lighthouse', 'chrome_path' => '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome', 'chrome_flags' => [ '--show-paint-rects', '--headless', ], 'audits' => [ 'first-contentful-paint', 'largest-contentful-paint', 'first-meaningful-paint', 'speed-index', 'total-blocking-time', 'cumulative-layout-shift', 'interactive', 'uses-long-cache-ttl', 'user-timings', 'critical-request-chains', 'redirects', 'content-width', 'font-display', 'optimal-images', ], ];
이 구성 파일에서는 여러 옵션을 정의합니다.
- temp_dir: Lighthouse 테스트 데이터가 저장되는 디렉터리를 지정합니다.
- chrome_path: Chrome 브라우저의 위치를 지정합니다.
- chrome_flags: Chrome 브라우저의 일부 매개변수를 지정합니다. --headless는 헤드리스 모드에서 실행됨을 의미합니다.
- audits: Lighthouse 테스트에 사용되는 감사 항목을 지정합니다. 여기에서는 일반적으로 사용되는 몇 가지 감사 항목을 선택했으며 필요에 따라 추가하거나 삭제할 수 있습니다.
다음으로 프로젝트의 루트 디렉터리에 test.php라는 파일을 만들고 다음 콘텐츠를 추가합니다.
<?php require_once __DIR__.'/vendor/autoload.php'; use NunoMaduroPHPUnitLaravelTestCasesBrowserTestCase; class LighthouseTest extends BrowserTestCase { public function testPerformance() { $this->artisan('lighthouse https://www.example.com --json --no-interaction'); $output = json_decode(file_get_contents(base_path('storage/app/lighthouse/report.json')), true); $this->assertArrayHasKey('audits', $output['categories']); } }
이 파일에서 LighthouseTest라는 테스트 클래스를 만듭니다. 이 클래스에서는 testPerformance라는 테스트 메서드를 정의합니다. 생성됩니다. 이 방법에서는 Artisan 명령을 사용하여 Lighthouse 테스트를 실행하고 결과를 JSON 형식으로 지정된 디렉터리에 저장합니다. 그런 다음 AssertArrayHasKey 메서드를 사용하여 Audits 섹션이 테스트 결과에 포함되어 있는지 확인합니다.
이제 테스트를 실행할 수 있습니다. 테스트를 실행하려면 터미널에서 다음 명령을 사용하세요.
./vendor/bin/phpunit --filter=LighthouseTest
이렇게 하면 방금 생성한 LighthouseTest 테스트 클래스에서 testPerformance 테스트 메서드가 실행됩니다. 모든 것이 순조롭게 진행되면 테스트가 통과되고 테스트 결과에 대한 자세한 정보가 포함된 report.json 파일이 Storage/app/lighthouse 디렉터리에 생성된 것을 볼 수 있습니다.
명령줄을 사용하는 것 외에도 Lighthouse 테스트를 PHP 애플리케이션에 통합할 수도 있습니다. 각 페이지의 성능을 기록하기 위해performancelog.php라는 스크립트가 있다고 가정하고 이 스크립트에 다음 코드를 추가하여 Lighthouse 테스트를 실행할 수 있습니다.
require_once __DIR__.'/vendor/autoload.php'; use NunoMaduroPHPUnitLaravelTestCasesBrowserTestCase; class LighthouseTest extends BrowserTestCase { public function run() { $url = 'https://www.example.com'; $this->artisan("lighthouse {$url} --json --no-interaction"); $output = json_decode(file_get_contents(base_path('storage/app/lighthouse/report.json')), true); $categories = array_intersect_key($output['categories'], array_flip(['performance'])); $score = array_sum(array_column($categories['performance']['auditRefs'], 'score')) / count($categories['performance']['auditRefs']); file_put_contents('performance.log', "{$url}: {$score} ", FILE_APPEND); } } $LighthouseTest = new LighthouseTest; $LighthouseTest->run();
이 예에서는 Lighthouse를 사용하여 지정된 URL을 테스트합니다. Performance.log 파일에 점수를 기록합니다. 이 스크립트를 주기적으로 실행하여 웹 애플리케이션의 성능을 모니터링할 수 있습니다.
이 글에서는 웹사이트 성능 테스트를 위해 PHP와 Lighthouse를 사용하는 방법을 다룹니다. 웹 개발자이든 시스템 관리자이든 이 튜토리얼을 사용하여 웹 애플리케이션의 성능을 계측하고 최적화할 수 있습니다.
위 내용은 웹사이트 성능 테스트를 위해 PHP와 Lighthouse를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

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

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

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











이번 장에서는 CakePHP의 환경 변수, 일반 구성, 데이터베이스 구성, 이메일 구성에 대해 알아봅니다.

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는
