WinCache 소개

PHP용 Windows 캐시 확장은 Windows 및 Windows Server에서 실행되는 PHP 응용 프로그램의 속도를 높이는 데 사용되는 PHP 가속기입니다. PHP용 Windows 캐시 확장이 활성화되고 PHP 엔진에 의해 로드되면 PHP 애플리케이션은 코드 수정 없이 기능을 활용할 수 있습니다.

Windows 캐시 확장에는 5가지 유형의 캐시가 포함되어 있습니다. 다음은 각 캐시 유형의 목적과 제공하는 이점에 대해 설명합니다.

  • PHP Opcode Cache - PHP는 텍스트 및/또는 PHP 명령어가 포함된 데이터의 입력 스트림을 읽고 가장 일반적으로 HTML 형식의 다른 데이터 스트림을 생성하는 스크립트 처리 엔진입니다. 이것은 웹 서버에서 PHP 엔진이 웹 클라이언트가 요청할 때마다 PHP 스크립트를 읽고, 구문 분석하고, 컴파일하고 실행한다는 것을 의미합니다. 읽기, 구문 분석 및 컴파일 작업은 웹 서버의 CPU 및 파일 시스템에 추가 로드를 가하고 따라서 PHP 웹 응용 프로그램의 전체 성능에 영향을 줍니다. PHP 바이트코드(opcode) 캐시는 컴파일된 스크립트 바이트코드를 공유 메모리에 저장하여 동일한 스크립트의 후속 실행을 위해 PHP 엔진에서 재사용할 수 있도록 하는 데 사용됩니다.

    opcode 캐싱에 대한 지원은 Wincache 2.0.0에서 제거되었습니다. opcache를 원하는 모든 사용자는 PHP에 포함된 OPcache 확장을 사용해야 합니다.

  • File Cache - PHP opcode 캐시가 활성화된 경우에도 PHP 엔진은 파일 시스템의 스크립트 파일에 액세스해야 합니다. PHP 스크립트가 원격 UNC 파일 공유에 저장되면 파일 작업으로 인해 상당한 성능 오버헤드가 발생합니다. PHP용 Windows 캐시 확장에는 PHP 스크립트 파일의 내용을 공유 메모리에 저장하는 데 사용되는 파일 캐시가 포함되어 있어 PHP 엔진에서 수행하는 파일 시스템 작업의 양이 줄어듭니다.
  • Resolve File Path Cache - PHP 스크립트는 상대 파일 경로를 사용하여 파일을 포함하거나 사용하는 경우가 많습니다. 모든 파일 경로는 PHP 엔진에 의해 절대 파일 경로로 정규화되어야 합니다. PHP 응용 프로그램이 많은 PHP 파일을 사용하고 상대 경로로 해당 파일에 액세스하는 경우 경로를 확인하는 작업은 응용 프로그램의 성능에 부정적인 영향을 미칠 수 있습니다. PHP용 Windows 캐시 확장은 상대 및 절대 파일 경로 간의 매핑을 저장하는 데 사용되는 파일 경로 확인 캐시를 제공하여 PHP 엔진이 수행해야 하는 경로 확인 횟수를 줄입니다.
  • User Cache (available since version 1.1.0) - PHP 스크립트는 사용자 캐시 API를 사용하여 공유 메모리 캐시를 활용할 수 있습니다. PHP 개체 및 변수는 사용자 캐시에 저장한 다음 후속 요청에서 재사용할 수 있습니다. 이것은 PHP 스크립트의 성능을 개선하고 여러 PHP 프로세스에서 데이터를 공유하는 데 사용할 수 있습니다.
  • Session Handler (available since version 1.1.0) - WinCache 세션 핸들러는 PHP 세션 데이터를 공유 메모리 캐시에 저장하는 데 사용할 수 있습니다. 이렇게 하면 세션 데이터를 읽고 쓰기 위한 파일 시스템 작업이 방지되어 PHP 세션에 많은 양의 데이터가 저장될 때 성능이 향상됩니다.