2012-02-21 2 views
1

ZF 응용 프로그램에서 많은 아약스 요청을 받았습니다. 그리고 부트 스트랩 과정에는 많은 시간이 걸립니다. ZF 응용 프로그램에서 perfomance ajax 요청을 증가시키는 방법은 무엇입니까? Zend Framework 인스턴스를 한 번 실행하는 방법이 있습니까?ZF 응용 프로그램에서 perfomance ajax 요청을 증가시키는 방법은 무엇입니까?

+0

MWOP의 두 게시물은 서비스 API 성능에 대해 설명하지만 AJAX 요청에 쉽게 적용될 수 있습니다. [Zend Framework를 통한 서비스 API 노출] (http://mwop.net/blog/227-Exposing-Service-APIs- via Zend-Framework), [Zend Framework로 RESTful 서비스 구축하기] (http://mwop.net/blog/228-Building-RESTful-Services-with-Zend-Framework) –

+0

감사합니다. 아약스를 전달할 생각이 들었습니다. 이 스크립트에서 필요한 소스만을 필요로하는 스크립트에 대한 요청. – Dmitro

답변

1

부트 스트랩 프로세스에는 시간이 걸리지 만 사실이긴하지만 Zend_Cache과 같은 도구를 사용하여 성능을 향상시킬 수 있습니다. 예를 들어 구성 파일을 부트 스트랩하여 각 요청 후에로드하고 파싱 할 필요가 없습니다.

젠드 프레임 워크를 사용하지 않는 다른 서버 또는 다른 경로에 Ajax를 통해 호출 된 PHP 파일을 저장할 수 있습니다. 전체 애플리케이션과 코드를 분리하면 Ajax 요청에 과부하가 걸리지 않는다.

Ajax 요청에 Zend_Acl, Zend_Auth 또는 모든 프런트 컨트롤러 플러그인과 같은 구성 요소가 필요한 경우 Ajax 파일을 응용 프로그램과 분리하지 말고 응용 프로그램에 보관해야합니다. _init() 액션에서 AjaxContext를 사용하여 마침내 처리 할 수 ​​있습니다.

요약하면 :

  • 당신은 젠드 프레임 워크가 제공하는 무엇 (플러그인, 라우팅, ACL 등)가 필요합니다 : 당신은 당신의 응용 프로그램 내에서 귀하의 아약스 스크립트를 유지해야합니다.
  • 당신은 그 물건 전부를 필요하지 않습니다 : 별도의 아약스 스크립트를 만드십시오!

또한, 좋은 아이디어는 부트 스트랩의 run() 방법을 과부하하는 것입니다 만 당신의 아약스 스크립트에 필요한 자원을 인스턴스화합니다.

+0

예, 구성을 캐시했습니다. 나는 ZF 어플리케이션과는 별도의 논리 논리를 원하지 않는다. 그래서 나는 phpdaemon을 시도한다. 그것은 libevent에 기반한 nodejs처럼 작동합니다. ZF appliaction을 한 번 부트 스트랩 할 수 있습니다. 그러나 나는 그것에 몇 가지 문제가 있으며 나쁜 지원과 문서화가 있습니다. – Dmitro

+0

문제를 해결 했습니까? – Liyali

+0

이 부분을 nodeJS 및 Redis로 재개발하기로 결정했습니다. – Dmitro

관련 문제