2012-10-20 3 views
0

나는 곧 베타 버전으로가는 매우 복잡한 webapp에 마무리 접촉을 가하고있다. PHP 코딩 스타일에는 요구 사항을 통해 여러 "컨테이너"스크립트에서 재사용되는 작은 scritps를 작성하는 것이 포함됩니다. 과거에는 eAccelerator를 사용하여 스크립트 속도를 높이고 그 결과는 꽤 인상적이었습니다 (일반적으로 x 4의 개선이있었습니다). 그러나 현재 앱은 다른 리그에 있으며 내가 이전에 한 것보다 훨씬 많은 수의 사용자를 유치 할 책임이 있습니다. 나는 유동적이고 빠른 사용자 경험을 제공하기 위해 내가 서버에서 할 수있는 것을 수립하는 과정에있다. 나는 전에 젠드 서버를 사용한 적이 (그것은 가파른 요구 가격이 않습니다) 그래서 나는 다음과 같은Zend Server가 유용할까요?

  • 의 도움과 함께 생활을 계속 할 수있을 것인지에 대한 몇 가지 피드백을 얻을하는 데 최선을 생각 내 "사용 된 점수 & 재사용 된 PHP 스크립트"코딩 스타일 및 my mySQL 데이터베이스. 실행하는 데 가장 오래 복용하는 내 코드의 비트를 식별 할 수
  • 제공 나은 버그 추적/오류보고/모니터링
  • 가속 성능
  • 프로파일 링/등 내가 가진

조정과 함께 할 수있는 내 로컬 WAMP 설치를 시도하기 위해 Zend Server 평가판 Windows 버전을 다운로드했습니다. 그러나 하루 24 시간 만 남았습니다. 그래서 제가 착수하기 전에 여기에 잘못된 나무를 짖고 있는지를 아는 것이 유용 할 것입니다. 모든 팁을 많이 주시면 감사하겠습니다.

답변

1

필자의 의견으로는 그럴 가치가있다. 그것은 미래에 유익 할 수있는 다른 구성/제품으로 쉽게 얻을 수없는 몇 가지 독특한 기능을 가지고 있습니다.

는 점을 해결하기 위해 :

  • 내 "사용 & 다시 PHP 스크립트의 점수"코딩 스타일과 내 MySQL 데이터베이스와 함께 살기를 계속합니다.

    재사용 된 파일에는 문제가 없습니다. 성능 향상에 대한 자세한 내용.

    예를 모니터링

  • 제공 나은 버그 추적/오류보고 /. code tracing 기능은 버그를 추적하는 데 유용합니다. 관리 인터페이스를 통해 로그 파일을 파기하지 않고도 한 곳에서 모든 서버의 PHP 오류 메시지를 명확하게 볼 수 있습니다.

  • 당신이 바이트 코드 캐시를 사용하는 경우 가속 성능

    당신이 eAccelerator로 볼처럼 당신이 성능 향상을 볼 수 있습니다. 바이트 코드 캐시는 자주 요청되는 스크립트를 PHP가 각 요청에 대해 구문 분석하는 것보다 훨씬 빠르게로드합니다. 또한 캐싱 API를 활용하여 데이터베이스 쿼리의 결과를 캐시 할 수 있습니다 (기본적으로 Memcached 또는 파일 캐시와 같은 것을 설정하지 않고).

  • 프로파일이 실행하는 데 가장 긴 복용하는 내 코드의 비트를 식별/등 조정과 함께 할 수있는

    코드 추적이 특히 도움이되는,이 중 일부는 당신에게 제공 프로덕션 환경에서. 하지만 고급 코드 프로파일 링을 위해 XDebug 나 Zend Debugger와 같은 것을 항상 사용할 수 있습니다.

또 다른 멋진 기능은 session clustering입니다. 오래 전에 여러 웹 서버를 실행해야 할 필요는 없습니다. 이 시점에 도달하면 모든 서버에서 PHP 세션을 사용할 수 있는지 확인하고 데이터베이스 나 memcached 세션 핸들러를 설정할 필요가 없도록 젠드 서버 세션 관리자를 사용할 수 있습니다. 서버가 다운되면 해당 서버에서 생성 된 모든 세션 데이터를 다른 서버에서 사용할 수있게됩니다.

다른 무료 제품을 사용하여이 모든 것을 얻을 수는 없지만 예산 및 일정에 따라 많은 기술적 고려 사항을 간소화하고 여러 제품을 지원하지 않고 하나의 제품으로 관리 할 수 ​​있습니다 귀하의 사이트 운영. 가치가 있다면 그럴 가치가 있습니다.

또한 추가 비용을 지불하면 지원을받을 수 있습니다. 저는 Zend 전화 지원에 대한 경험이 없으므로 이에 대해 언급 할 수는 없지만 누군가 도와 줄 수있는 옵션이 있습니다.

+0

포괄적 인 대답에 감사드립니다. 필자는 과거에 memcached를 사용하여 PHP 세션 관리 메커니즘을 '메모리'로 변경했으며 성능을 대폭 향상 시켰습니다. 줄 사이를 읽으면서, 젠드 서버를 실행하면 memcached를 사용하여 그 기능을 제공 할 필요가 없다는 것을 알 수 있습니다. – DroidOS

+0

세션 클러스터링은 실제로 젠드 서버 클러스터 관리자의 일부라고 생각합니다. 그건 추가 비용입니다. 그러나 만약 당신이 그것을 사용한다면, 예, 세션을 여러 서버에 걸쳐 메모리에 중복 저장합니다. 젠드 서버를 사용할 때 memcached를 세션 리던던시와 함께 사용하고 싶을 것입니다. – drew010

+0

고마워요! 1234 – DroidOS

1

도움이 될 수 있지만 반드시 최선의 선택은 아닙니다.

더 나은 버그 추적 및 오류보고에 대해서는 이미 갖고있는 내용에 따라 다릅니다. 오랜 시간 동안 기계공을 사용해 오던 중 익숙해지면 보통 문제를 일으키거나 지연 시키거나 정비사가 아주 좋은 문제를 일으킬 수 있습니다.

점수가 인 경우 파일 사용 기록이 남아 있으므로 아무런 문제가 없습니다.

프로파일 링에 관해서는 다시 이미 배치 한 항목에 따라 다릅니다.

성능에 관해서는 개인적으로 내가 이미 언급 한 것과 좋은 프로그래밍 습관을 사용하는 것이 훨씬 더 좋을 것이라고는 생각지 못합니다. 스크립트의 마이크로 벤치 마크를 말하는 것이 아니라 루프의 적절한 사용, 당신은 필요 없으며, 사이클을 피하고, 파일이나 외부 자원의 이중 점검을 피할 수 있습니다.

로컬 테스트에서 큰 개선을 발견했다면, 그것을 사용하거나 보고서를 분석하는 데 시간을 할애 할 수 있습니다 더 나은 코드, 캐시 사용, 더 나은 .htaccess 또는 헤더 사용 또는 Zend 사용으로 개선이 이루어질 수 있는지 판단하십시오.

+0

감사합니다. 다양한 관점을 갖는 것이 항상 유용합니다 :-) – DroidOS

관련 문제