2010-06-04 3 views

답변

5

Memcache는 별도의 프로세스/요청에서 많은 읽기 작업을 수행하는 데 편리합니다. 여러 프로세스 나 배치로 보내고 있습니까? 후자의 경우 memcache를 잊어 버리십시오.

로컬 인클루드는 매우 빠르며 자주 파일에 액세스하는 경우 OS가 파일을 캐시하여 효율적으로 메모리에서 읽습니다. 테스트하지 않고도 말할 수있는 방법은 없지만 가장 큰 속도 향상은 opcode 캐시 (예 : APC)에있는 파일을 가지고 있다고 생각합니다. 기본 형식은 &입니다.

또한 파일 포함이 코드에 병목 현상이있는 경우 특히 메일을 보내는 경우 놀라 울 것입니다. 최적화 규칙 # 1 : 존재하지 않는 성능 문제를 해결하지 마십시오.

+0

최적화 규칙 # 1에 대해 들어 본 적이 없었습니다 - 감사합니다! 저는 새로운 시스템을 개발하고 있습니다. 그래서 나는 미래를 준비하려고 노력하고 있습니다. 그러나 잘 알고 있습니다! - 그들은 별도의 요청입니다. 누군가가 우리 사이트에 등록하거나 이메일을 보내야 할 때마다. –

+0

젠장, 나는 거의 정확하게, 특히 마지막 비트를 말할 것입니다. +1 – Kris

+0

나는 항상 최적화의 첫 번째 규칙은 가능한 한 가장 큰 이득이 작동하지 않는 시스템에서 작동하는 시스템으로의 전환이라고 생각했습니다. (일명 : 조기 최적화는 모든 악의 근원입니다.) ;-) – ircmaxell

2

글쎄, 대답하기가 아주 힘듭니다. 저기 변수가 많이 있습니다.

이 데이터에 대한 요청이 많습니까? (내가 많이 말하면 초당 1 ~ 2 개 이상을 의미합니까)? Memcache가 문제가되는 경우 포인트를 얻습니다 ...

고성능 (SCSI 또는 SAS, RAID 0 또는 10) 드라이브입니까? 그렇다면 파일에 문제가 생길 수 있습니다.

RAM이 많습니까? 그렇다면 OS가 더 많은 파일 데이터를 캐시 할 수 있으므로 파일에 필요한 드라이브 활동이 줄어 듭니다.

미리 정의 된 메시지가 많습니까? 그렇다면 Memcache의 인덱스가 차이를 만들 수 있습니다 ...

Memcache 서버는 로컬 호스트에만 있습니까? 그렇지 않은 경우 Memcache는 네트워크 대기 시간에 대한 정보를 잃게됩니다.

결론은 이렇습니다. 당신이 조회의 톤을 (초당 많은)하고 있지 않는 한, 어느 쪽도 빠른 (이유 안에, 10 20 ms의 밑에) 일 것이다. 개인적으로 초당 약 10 건 이상의 EMAIL 조회를 수행하지 않는 한 파일 방법을 고수하십시오. 유지 보수가 더 쉽습니다 (다시 시작해야하는 경우 Memcache를 새로 고칠 필요가 없습니다). 디버깅이 쉬워집니다. 기억하십시오 : 간단하게 ...

+0

고맙습니다. - 나는 서버 관리자가 아니며 서버를 설정하지도 않습니다. 드라이브. RAM은 확실히 낮습니다 (2-4 gbs라고 믿습니다). 그리고 그것은 localhost입니다. 나는 지금 당장이 지역을 유지할 것이며, 문제가된다면 더 자세히 살펴볼 것입니다. 그러나 다른 것들이 곧 문제를 일으킬 것이라는 느낌이 들게됩니다. –

관련 문제