2010-03-07 4 views
2

우리는 고객이 숫자가 증가하거나 감소 할 때 빠르고 쉽게 위/아래로 확장 할 수 있도록 클라우드 서버에 배치되는 새로운 PHP 웹 응용 프로그램의 시작 단계에 있습니다 . 아마 개발 속도를 높이기 위해 PHP 프레임 워크 (Codeigniter)를 사용할 것입니다.확장 가능한 고성능 PHP 응용 프로그램에 대한 오늘날의 접근 방식

다음 단계는 성능 향상 (캐시 등) 및 사용할 데이터베이스 선택 기능을 구현하는 것입니다.

memcached와 eaccelerator와 같은 솔루션은 당연히 처음에는 우리 마음에 떠오르는 것이지만, 현재 더 좋은 해결책이 있습니까?

성능에 중점을 둔 mySQL은 실제로 선택의 여지가 있습니까?

그래서, 고성능 웹 애플리케이션을위한 기본 토대를 만드는 방법에 대한 아이디어와 생각을 공유하십시오!

감사합니다.

답변

7

두 가지 : 10 개 신생 기업 중

  1. 8 또는 9가 실패; 및
  2. 한 달에 1,500 만 개의 순 쿠키를 사용하는 것은 예외가 아닙니다. 5 백만 개 이상의 고유 항목을 얻는다면 애플리케이션이 2 ~ 6 회 재 작성되었을 것입니다.

기본적으로 문제가 발생할 때까지이 "문제"에 대해 걱정하지 마십시오.

또한 클라우드 서버는 버스트 사용에는 좋지만 데이터 요금은 일정한 사용에 좋지 않은 선택입니다. 일반적인 진행은 다음과 같습니다.

  1. 공유 호스팅 (건너 뛸 수도 있음).
  2. VPS (이 경우도 무시할 수 있음).
  3. 전용 서버; then
  4. Co-location.

어떤 도구를 사용하는지는 앱 전반에 달려 있습니다. MySQL은 대부분의 상황에서 좋은 선택입니다. 일반적으로 APC 또는 eAccelerator와 같은 opcode 캐시가 좋습니다. Memcache는 특정 종류의 응용 프로그램에 유용 할 수 있습니다.

+0

내가 전에 본 정말 나쁜 코드를 제외하면이 @Cletus에 동의 할 것입니다. 응용 프로그램이나 데이터 계층에 나쁜 코더가있는 경우 1 ~ 500만의 고유 항목을 처리 할 수 ​​없다는 것이 쉽습니다 . 프로그래머를 압박하지 마라. – Hogan

+1

@Hogan : 당신은 무엇이든 나쁜 코드를 작성할 수는 있지만 질문은 "좋은 코드를 어떻게 작성합니까?" (하나의 질문이 아니라 완전한 교육의 주제입니다) 오히려 "나는 특별한 것을해야만합니까?" 대답은 "아니오"입니다. – cletus

+1

@Cletus 글쎄, 프로젝트 초기 단계의 세부 사항에 대한 세부 사항은 어떤면에서는 실패로 이어 지거나 고성능 또는 확장 성 요구 사항이 나타나지 않는 경우가 많습니다. 그러나 거기에는 아마도 내가 아는 것들보다 더 좋은 자원이있을 것이고, 속도와 성능 (장기적인 확장 성)을 향상시킬 수 있으며 가능한 한 일찍 구현할 수 있다는 생각이 듭니다. – Industrial

6

좋은 앱을 만드는 데 초점을 맞추고 중요한 사용자 기반을 확보하면 성능에 대해 걱정해야한다고 생각합니다. 그렇다고해서 성능을 염두에 두지 말아야한다는 말은 아닙니다. 그러나 실제 사용자가 있기도 전에 최적화를 시도하는 것 같습니다. 성능 튜닝은 이론적 인 것이며 특정 애플리케이션에서 실제로 발생하는 것을 기반으로하지는 않습니다. 응용 프로그램에서 특별히 사용되는 사용 패턴과 병목을 보려면 먼저 많은 사용자가 있어야합니다. 또한이 수준에서 성능에 대해 많이 걱정한다면 PHP를 사용하는 것이 최선의 방법이 아닙니다. PHP는 빠르게 만들 수 있지만 컴파일 된 다른 언어와 비교하면 항상 느려집니다. 대답이 없습니다. 그것은 모두 응용 프로그램이 수행하는 작업에 따라 다릅니다. 서버 시간의 대부분이 데이터베이스와 같은 곳에서 소비된다면 PHP는 잘 동작 할 수 있습니다. MySQL은 사용자가 수행하는 작업과 사용하려는 정보의 종류에 따라 문제가 없을 수 있습니다. 당신이 알아야 할

+0

안녕하세요 Kibbee! 답장을 보내 주셔서 감사합니다. 당신이 말하는 것은 완전히 진실입니다. 실제 사용자가 명백하게 보이기 전에 최적화를 시도하는 것은 건물을 짓기 전에 집을 확장하는 것과 같습니다. 그러나 아무도 가장 적합한 기초가 없으면 집을 짓기를 원하지 않습니다. metaphoric 접근 방식에 대한 미안하지만, 내 질문은 성능을 염두에두고 PHP를 기반으로 최고의 기초를 만들기 위해 선택하고 사용할 수있는 기능을 기반으로합니다. 귀하의 의견에 빠른 컴파일 언어는 무엇입니까? – Industrial

관련 문제