방금 YII 사용을 시작했고 첫 번째 앱을 관리했습니다. 불행히도, 출시일이 가까워서이 앱이 빠른 속도로 진행되기를 바랍니다. 지금까지 내가 속도를 올리는 유일한 길은 standard caching입니다. 내 앱의 속도를 높이려면 다른 어떤 방법이 있습니까?YII 응용 프로그램의 속도를 높이는 가장 빠른 방법은 무엇입니까?
답변
먼저 공식 가이드에서 Performance Tuning을 읽으십시오. 또한 :
- Check HTTP caching.
- PHP를 업데이트하십시오. 각 주요 버전은 좋은 향상을 제공합니다.
- 세션에 redis (또는 적어도 데이터베이스)를 사용합니다 (기본 PHP 세션은 파일을 사용 중이며 차단 중입니다).
- 아파치 대신 (또는 함께) nginx 사용을 고려하십시오. 콘텐츠를 훨씬 잘 제공합니다.
- CDN 사용을 고려하십시오.
- 데이터베이스를 조정하십시오.
이들은 모두 비교적 쉽게 수행 할 수있는 일반적인 작업입니다. 나중에 받아 들일 수없는 경우에는 가정하지 마십시오. 윤곽.
"APC /'{$ other_opcache} 사용"부분이 더 강조되어야한다고 생각합니다. "[이 가이드] (http://www.yiiframework.com/wiki/312/getting-the-most-out-of-apc-for-yii/)와 함께 사용 가능합니다. HTH :) – DaSourcerer
대부분의 앱을 캐시 할 수있는 경우 와니스 같은 프록시를 사용해보십시오. 이 조리법에
1. 다음 모범 사례
, 우리는 최고의 공연 YII를 구성하는 방법을 참조하고 반응하는 애플리케이션을 구축하는 몇 가지 추가 원칙을 볼 수 있습니다. 이러한 원칙은 일반적이며 Yii 관련입니다. 따라서 우리는 Yii를 사용하지 않고도 이들 중 일부를 적용 할 수 있습니다.
준비
APC (http://www.php.net/manual/en/apc.installation.php)
를 설치yiic 웹 애플리케이션 괜찮 PHP에
기본 세션 처리를 처리 세션을 2.Speeding
를 사용하여 신선한 YII 응용 프로그램을 생성 대부분의 경우에. 당신이 세션이 처리되는 방식을 변경하려는 이유 적어도 두 가지 이유가 있습니다 :
여러 서버를 사용하는 경우, 당신은기본 PHP 세션 파일을 사용하여 두 서버 모두에 대한 공통 세션 저장이 필요
, 그래서 가능한 최대 성능은 디스크 I/O
3.Using 캐시 종속성 체인
YII 많은 캐시 백엔드를 지원하지만 정말 YII 캐시 유연한 종속성과 의존성 체인 지원이다 무엇이에 의해 제한됩니다. 캐시 된 정보는 언제든지 변경 될 수 있기 때문에 한 시간 동안 단순히 데이터를 캐시 할 수없는 상황이 있습니다.
이 레시피에서는 전체 페이지를 캐시하는 방법과 업데이트 된 데이터를 항상 가져 오는 방법을 보여줍니다. 페이지는 대시 보드 유형으로 추가 된 5 개의 최신 기사와 계정에 대해 계산 된 합계가 표시됩니다.작업은 추가 된대로 편집 할 수 없지만 기사는 편집 할 수 있습니다. YII 응용 프로그램을 배포하기위한 가장 좋은 방법을 모두 적용하고 여전히 대부분의 아마 다음, 원하는 성능이없는 경우
YII
를 사용하여 응용 프로그램을 4.Profiling, 일부 병목 현상이있다 응용 프로그램 자체 이러한 병목 현상을 처리하는 동안의 주된 원칙은 무엇이든 취하지 않아야하며 항상 최적화하기 전에 코드를 테스트하고 프로파일 링해야한다는 것입니다.
PHP 세션의 기본 문제는 디스크 I/O가 아니라 블로킹 (blocking)이라는 사실입니다. –
일반 PHP Mysql 성능 터닝으로 이동하십시오.
1) 데이터베이스 서버의 부하를 줄임으로써 동적 웹 애플리케이션을 가속화하는 데 도움이 Memcache
Memcahced 오픈 소스 분산 메모리 오브젝트 캐싱 시스템.
3) PHP
- 1. 내 응용 프로그램의 속도를 높이는 방법은 무엇입니까?
- 2. ClickOnce 응용 프로그램의 시작 속도를 높이는 방법
- 3. BizTalk의 속도를 높이는 가장 좋은 방법은 무엇입니까?
- 4. Memcached로 PHP 응용 프로그램의 속도를 높이는 방법
- 5. 코드 속도를 높이는 방법은 무엇입니까? 내 프로그램에서
- 6. 콤보 박스 속도를 높이는 방법
- 7. mysql에서 neo4j의 삽입 속도를 높이는 방법은 무엇입니까?
- 8. ADB 설치 속도를 높이는 방법은 무엇입니까?
- 9. 이 MongoDB 쿼리의 속도를 높이는 방법은 무엇입니까?
- 10. getJSON 배열 데이터의 속도를 높이는 방법
- 11. 웹 사이트 반응성을 높이는 가장 빠른 방법은 무엇입니까?
- 12. 여러 사용자가 사용하는 데이터 입력 응용 프로그램의 속도를 높이는 방법은 무엇입니까?
- 13. 데이터로드 속도를 높이는 방법
- 14. 페이지로드 속도를 높이는 방법
- 15. 스크롤바의 속도를 높이는 방법
- 16. 수업이 최종 속도를 높이는 이유는 무엇입니까?
- 17. 안드로이드에서 목록보기로드 속도를 높이는 방법?
- 18. ReportViewer를 통해 SSRS로 웹 - 연결 속도를 높이는 방법은 무엇입니까?
- 19. 처리 속도를 높이는 프로그램 논리
- 20. 복잡한 UITableView에서 탭 처리 속도를 높이는 방법
- 21. Yii 응용 프로그램의 깨진 URL
- 22. yii 응용 프로그램의 컨텍스트에서 yii 셸의 yii 클래스 메서드를 실행하십시오.
- 23. PHP 메일 속도를 높이는 방법
- 24. 레이크 속도를 높이는 방법이 있습니까?
- 25. DNN 사이트 속도를 높이는 방법
- 26. PHP 단순화 속도를 높이는 방법
- 27. 내 실행 속도를 높이는 방법
- 28. 논문에서 업데이트 속도를 높이는 방법
- 29. 안드로이드에서 스케일링 속도를 높이는 방법
- 30. COM의 속도를 높이는 방법이 있습니까?
터닝 웹 서버 성능은 약 [성능 튜닝 (http://www.yiiframework.com/doc/guide/1.1/en/topics를 읽어했다. 공연)? –
그게 내가 필요한 모든 것을 대답합니다. 이 게시물을 삭제합니까? 아니면 닫으시겠습니까? – coderama
또는 @ bool.dev는 9 회 upvoted 대답을 실제 답변에 넣을 수 있으므로 coderama는이를 받아 들일 수 있습니다. 그것도 잘못된 것은 아닙니다. –