2011-02-09 4 views
1

고객 사이트에 적합한 캐싱 솔루션을 찾는 데 도움이 필요합니다. 현재 사이트 centoOS, PHP, MySQL은, 아파치 멋진 템플릿 (나는 그들이 빨아하지만 다른 사람에 의해 만들어진 것으로 알고)입니다. 현재의 모델/방법은 상당히 좋은 OO 구조를 사용하지만 간단한 페이지 기능 중 일부에 대해 많은 쿼리를 수행하는 방법이 있습니다. 나는 어떤 종류의 캐싱 솔루션을 찾으려고 노력하고있다.하지만 이것에 관해서는 멍청하다. 현재 사이트 설정에 맞는 것이 무엇인지 알지 못한다.PHP 캐싱 권장 사항이 필요합니다.

한 번에 한 페이지에 10 개의 경매가 표시되는 경매 유형 사이트입니다. 각 경매에 대한 시간과 현재 입찰가는 1 초마다 json을 반환하는 ajax 호출을 통해 업데이트됩니다 (beezid와 같은 페니 경매 사이트입니다 .com 업데이트가 필요합니다.) 보시다시피, 사이트에 어떤 종류의 트래픽이 발생하면 동시 요청 수는 엄청날 수 있습니다. 분명히이 데이터는 json 데이터가 반환 된 json 데이터가 경매에 남아있는 업데이트 된 시간을 가지며 업데이트 된 입찰 금액과 입찰 사용자를 각 경매에 대해 매 초마다 변경합니다.

내가 원하는 것은 주어진 시간 동안 또는 다른 변경된 변수를 기반으로 특정 페이지를 캐시하는 기능입니다. 예를 들어, 10 개의 경매를 표시하고 경매 중 하나가 끝날 때 해당 캐시 사본 만 갱신하는 페이지를 캐시하는 메모리. 또는 위의 스크립트는 매초마다 json 문자열 데이터를 반환합니다. 이 페이지의 첫 번째 요청을 메모리에 캐시 할 수 있었다면 메모리에서 다음 요청을 제공 한 다음 1 초 후에 다시 캐시하면 서버로드가 많이 줄어들 수 있습니다. 그러나 이것이 가능한지 또는 이와 같은 작업을 수행하는 오버 헤드가 요청로드 부담을 줄이는 지 여부는 알 수 없습니다.

일부 xcache를 조사했지만 특정 페이지에서 특정 캐시 시간을 설정하거나 다른 변수를 기반으로 특정 캐시 시간을 설정할 수있는 방법을 찾지 못했습니다. 어쩌면 내가 뭔가 놓친거야하지만 누군가가 이러한 요구 사항에 대해 작동하는 캐싱 계획에 대한 권장 사항을 가지고 있습니까? 당신이 가진 수있는 입력

무초 덕분에 ...

+1

Xcache는 opcode 캐시입니다. Opcode는 PHP 인터프리터가 코드를 처음으로 통과 한 결과입니다. opcode는 실제로 인터프리터에서 실행되는 코드입니다. Opcode 캐싱은 코드 결과를 캐싱하는 데 도움이되지 않고 코드 자체 만 캐싱합니다. –

+0

Xcache는 [XCacheApi] (http://xcache.lighttpd.net/wiki/XcacheApi)를 사용하여 변수 데이터를 저장할 수도 있습니다. 이는 opcode 캐시가 아닙니다. – wimvds

+0

@ Dan - opcode 캐시가하는 일에 대해 혼란 스러웠습니다. 그것은 아마도 처리 시간 단축에 도움이 될 것입니다.그리고 xcacheapi (@wimvds)를 살펴본 후 흥미롭고 어쩌면 해결책을 찾은 것 같습니다. 설치하고 어떻게 작동하는지 봅니다. 당신의 도움을 주셔서 감사합니다! – Michael

답변

2

캐싱 등 많은 방법을 사용하여 수행 할 수 있습니다. Memcached은 귀하의 업무에 적합한 것으로 생각합니다. 사이트가 매우 바쁠 경우 램이 부족할 수 있습니다.

캐싱을 수행 할 때 종종 간단한 파일 캐시를 사용합니다. 캐시 된 콘텐츠의 신선도를 결정하기 위해 적어도 하나의 stat 호출을 필요로하지만 SQL Server를 호출하는 것보다 빠르고 빠릅니다.

SQL Server를 호출해야하는 경우 메모리 (힙) 테이블을 사용하여 많은 양의 미리 계산 된 데이터를 저장할 수 있습니다. 이 기술은 memcached보다 효율적이지는 않지만 아마도 memcached를 설치하는 것을 절약 할 수 있습니다.

DC는

+0

메모리 테이블을 살펴 봅니다. 설치 memcached 곰 있습니까? Btw, 서버에는 4 기가 바이트 메모리가 있습니다. 지금은 약 250MB 만 사용하므로 메모리가 문제가되지 않습니다. – Michael

+0

memcached는 제가 이해하는 것에서 상당히 간단합니다. 컴퓨터에 액세스 할 수있는 한 – DeveloperChris

1

Zend_Cache는 더 많은 당신이 원하는 것을 수행 할 수 있습니다. xcache 및 memcache를 비롯한 많은 백엔드를 지원하며 데이터, 전체 페이지, 부분 페이지 등을 캐시 할 수 있습니다. 사용자가 상상할 수있는 모든 것 : p.

궁금한 점이 있다면 : Zend_Cache 구성 요소를 단독으로 사용할 수 있으므로 응용 프로그램에 완전한 Zend 프레임 워크를 사용할 필요가 없습니다.

+0

정보를 제공해 주셔서 감사합니다. zend_cache를 깊게 볼 것입니다. 전체 프레임 워크를 포함시켜야한다는 인상하에있었습니다. – Michael

관련 문제