2014-05-24 4 views
0

그래서이 앱은 자바 서블릿입니다. 인스턴스 생성시 생성자 매개 변수로 지정된 파일에서 단어를 읽고 쿼리를 제공하는 사전 객체를 사용합니다.OO PHP 서비스 성능

기본적으로 PHP에서 동일한 작업을 수행 할 수 있지만 클래스가 각각의 모든 요청에 ​​대해 인스턴스화 될 것이므로 파일은 매번 다시 읽혀질 것입니다. 실제로, 나는 해냈다.하지만 작동하지만 초당 11 건의 요청이 어리석은 양으로 내 겸손한 아마존 EC2 마이크로 인스턴스를 무너 뜨린다.

내 질문은 : 어떤 종류의 컴파일러/파일 시스템 최적화가 시작되어 파일이 전혀 변경되지 않을 때 성능에 미치는 영향을 줄여야하지 않습니까?

대답이 '아니오'인 경우 내 디자인이 매우 열악하고 성능을 개선해야한다고 생각합니다. 이 경우 두 번째 질문은 개선 할 수있는 최선의 방법은 무엇일까요?

  • 코드가 제대로 재사용되도록 서블릿 형 서비스를 구축 하시겠습니까?

  • memcached를 사용하여 단어 파일 콘텐츠를 메모리에 보관 하시겠습니까?

  • 일반 텍스트 파일 대신 RDBMS를 사용하고 내 사전에 쿼리 할 수 ​​있습니까?

    (정적 데이터 중 일부만 KB 인 사전에도 불구하고 그러한 몇몇 요청 당 사용자 설정보다 길이 을 갖는 것들로부터 (암호화 안전한) 임의의 단어를 선택하는 일부 복잡한 쿼리를 수행 할 수 있음에도 불구 등?)

  • 다른 것?

답변

1

가장 좋은 건 PHP 코드에서 사전의 최종 구조가 포함 된 PHP 파일을 생성하는 것입니다. 그러면 include() 코드를 파일에 캐시하거나 파일이 변경 될 때 새 코드를 작성할 수 있습니다. 데이터베이스가 아닌 파일 시스템에 저장해야합니다. 메모리에 캐시 할 수도 있습니다. 그러나 나는 이것이 현재 정말로 필요하다고 생각하지 않는다.

+0

네가 맞다. 내가 제안한 것보다이 경우에 더 좋고 구현하기가 쉽다. 아마 그걸 갈거야. – NotGaeL