나는 여행사/운영자의 일상 판매 및 운영을 다루는 CakePHP 2.x 앱을 가지고 있습니다.CakePHP 2.x 성능 - 컨트롤러가 데이터 작업을 끝내기 전에 사용자에게보기를 가져올 수 있습니까?
고객의 클라이언트 정보, 상담원의 상담원 정보, 승객의 승객 정보 (고객과 항상 같지는 않음), Payments의 지불 정보, 둘러보기 정보가 필요하기 때문에 판매 모델은 거의 모든 다른 모델과 상호 작용합니다 Tours의 항공편 정보, 항공편의 항공편 정보 등
기본적으로 영업 사원이 특정 판매로 이동하면 다른 모델의 많은 정보를 보여줄 수있는 화면이 필요합니다.
이로 인해 화면이 느려지고로드 속도가 느려집니다.
캐시를 사용하지 않으려 고합니다. 부츠 - 온 - 더 - 지상 유형의 대행사입니다. 즉, 판매가 아닌 실제 운영 자체를 의미합니다. 이 환경에서 정보는 항상 최신 상태 여야합니다.
그래서, 질문은 : 컨트롤러가 데이터의 모든 조각을 처리 완료되기 전에 사용자에게보기를 가져 오는 저를위한 방법은
있습니까?
처럼 :
<?php
class SalesController extends AppController {
public function show($id) {
// Get easy/quick data
// Take user to the View
// Get the more time consuming data
// Feed it to the View as it becomes ready
}
}
난 그냥 단순한 데이터 페이지를 호출 한 후 더 복잡한 데이터가 일부 Ajax와 자바 스크립트로로드 후에 와서해야한다 생각하지만, 그입니다 봤는데 최고의 프레임 워크 사용법?
평균 판매 화면에는 현재 완전히로드되기까지 약 10000 ms가 걸립니다. 그 시간의 6000ms 이상은 유휴 프레임입니다. 그게 내 컨트롤러가 백그라운드에서 일한다는 것을 의미하지, 그렇지?
나는 어디서 왜 그 이유를 안다고 생각한다. 패키지는 기본적으로 모든 항공편, 모든 둘러보기, 모든 호텔 등입니다. 다른 모델에 저장되기 때문에 데이터는 표준이 아니므로 컨트롤러는 반환 된 각 관련 레코드로 이동하여 2 가지 작업을 수행합니다 : 1. 최종 배열을 연대순으로 배열 할 수 있도록 날짜와 시간을 꺼냅니다. 2. 사용자에게 표시되는 설명을 작성하기 위해 각 유형에서 설명적인 것으로 간주 될 것을 끌어 내십시오. – vivipoit