2013-03-25 6 views
4

저는 현재 고성능, 고부하 웹 응용 프로그램을 개발하고 있습니다.Nginx FastCGI 캐시 VS 광택?

저는 현재 PHP-FPM, APC (opcode cache) 용 FastCGI와 함께 nginx를 실행하고 있지만 새로운 기능이기도합니다. FastCGI 캐시. FastCGI 캐시를 사용하면 동적 인 내용 (예 : PHP 페이지)을 캐싱 할 수 있으므로 응용 프로그램 속도가 엄청납니다.

나는 질문이 있습니다. FastCGI 캐시를 사용해야합니까? 그렇지 않으면 Varnish가 더 좋습니다 (더 빠름)? 속도와 동시성면에서 순수한 성능만을 찾고 있습니다. 지금까지 나는 FastCGI에 매우 만족하고 있지만, 나는 그물에 수천 개의 기사를 읽었으며 바니시는 좋다라고 말했습니다.

그러나 according to this benchmark/article, Varnish는 많은 동시 사용자에게 나쁜 선택 인 것으로 보입니다. 그게 사실인가요?

이 분야에 대한 이전 경험이 궁금해서 생각해주세요! FastCGI 캐시가 매우 새롭기 때문에 벤치 마크와 광택을 찾는 데 어려움을 겪고 있습니다.

답변

2

나는 Apache Bench에서 수행 된 테스트를 전적으로 믿지는 않습니다. 한 번에 한 페이지를 여러 번 요청하는 것과 비교하여 실시간로드가 다른 시나리오. Varnish이 나쁘지는 않습니다. 제대로 구성하는 방법을 알고 있어야합니다. 캐시를 처리/제거하는 방법을 더 잘 살펴보아야합니다 (Varnish and Nginx). 그러나 나는 Nginx Microcache이 초고속이라고 믿습니다. 그러나 다시 귀하의 Hardware and OS도 중요한 역할을합니다.

+0

Microcache는 기본적으로 ~ 1 초 동안 사이트를 캐싱하고 있습니다. 설정을 쉽게 조정할 수 있습니다. FastCGI 용 cache-purge-module도 있습니다.이 모듈을 사용하면 HTTP 요청만으로 캐시를 아주 쉽게 제거 할 수 있습니다. 몇 가지 숫자와 동시성의 안정성을보기 위해 벤치마킹을해야 할 수도 있습니다. btw에 답해 주셔서 감사합니다! – Eric

+0

thats the spirit, 게임의 이름은'다른 벤치 마크 블로그를 믿지 마라.'그들 중 대부분은 똥이거나, 조정할 줄 모른다. 단지'ab -n'과 all ... jMeter를 사용하면 실제 결과가 약간 나옵니다. 잊지 말아야 할 것은'Varnish'도 동적 캐시를 지원한다는 것입니다. –

1

AB로 간단한 테스트를해도 문제가 없습니다. 그러나 바니시 설정에는 성능과 스레딩에 영향을주는 데몬 설정이 없으므로 링크 된 벤치 마크에서 아무 말도 할 수 없다는 말은 불가능합니다.

평균적인 기계에 15k req/s 봉우리가있는 바니쉬를 사용하고 있습니다. 그것이 사용되기 전에 벤치 마크는 50k req/s에서 매우 낮은 부하를 보였다. 8k로 착륙했다면 설정에서 심각하게 잘못한 일을했을 수도 있습니다.

니스 구성에 대한 Google의 경험이 많은 사용자는 2-300k req/s를 처리하는 데 필요한 경험이있는 사용자가 많음을 알 수 있습니다.

+0

_ "varnish config에는 성능 및 스레딩에 영향을주는 데몬 설정이 없습니다."-하지만 nginx config는 단지 하나의 작업자 프로세스 만 사용 했으므로 공정했습니다. _ [nginx는 1M req/s를 처리 할 수 ​​있기 때문에] "경험이있는 사람들은 2-300k req/s 처리에 대해 이야기하고 있습니다."- 큰 문제는 아닙니다. (http://lowlatencyweb.wordpress.com/2012/03/ 26/500000-requestssec-piffle-1000000-is-better /)입니다. – VBart