데이터 구조를 RAM에 영구적으로 저장하고 Perl의 사전 처리 된 웹 서버 프로세스에서 액세스 할 수 있습니다.공유 RAM에 Hash 구조를 저장하는 Perl 모듈을 찾고
이상적으로는 memcached와 같이 작동하지만 별도의 데몬이 필요하지 않습니다. 어떤 아이디어?
데이터 구조를 RAM에 영구적으로 저장하고 Perl의 사전 처리 된 웹 서버 프로세스에서 액세스 할 수 있습니다.공유 RAM에 Hash 구조를 저장하는 Perl 모듈을 찾고
이상적으로는 memcached와 같이 작동하지만 별도의 데몬이 필요하지 않습니다. 어떤 아이디어?
IPC::SharedMem이 청구서에 부합 할 수 있습니다.
Cache::FastMmap을 사용하면 파일 만 있으면됩니다. 그것은 mmap을 사용하여 IPC에 대한 공유 메모리 내 캐시를 제공합니다. 이는 매우 빠름을 의미합니다. 발생할 수있는 문제 및주의 사항은 설명서를 참조하십시오.
Mod_perl은 올바르게 작성된 COPY (write-on-write) 포킹이 구현 된 시스템에서 RAM을 공유합니다. mod_perl 프로그램의 BEGIN 블록에 펄 해시를로드하면 해시를 저장하는 페이지에 쓰기가없는 한 mod_perl 프로그램의 모든 fork 된 인스턴스가 메모리를 공유합니다. 이것은 (일부 페이지는 쓰여질 것입니다) 완벽하게 작동하지 않지만 서버와 데이터에서는 메모리 사용량이 70-80 % 감소합니다.
Mod_perl은 후속 웹 요청에서 Perl의 컴파일 시간을 없애 서버 속도를 향상시킵니다. 신중하게 프로그램해야하는 mod_perl의 단점은 전역 변수를 수정하는 프로그램을 피하십시오. 이러한 변수는 해시와 마찬가지로 모든 mod_perl 인스턴스에서 공유하므로 중요합니다. Perl을 충분히 배우면 어쨌든 전역을 변경할 필요가 없습니다!
mod_perl의 성능 향상은 환상적이지만 많은 공유 호스트에서 mod_perl을 사용할 수 없습니다. 당신이 그것을 배우는 동안 쉽게 망쳐 놓고 디버깅하기가 쉽습니다. 성능 개선이 고객이 내 개발 통증을 정당화하기에 충분하다고 평가할 때만 사용합니다.