2013-10-19 4 views
1

WAMP (Windows, Apache, MySQL, PHP) 서버를 기반으로 소셜 네트워킹 웹 사이트를 개발했습니다. 나는 무료 호스트 (호스팅에서 그것을 램프에 제공)에 올려 놓았고 정상적으로 작동합니다.PHP 소셜 네트워킹 확장 성 테스트 방법

이제 조금 연구를 해보면 PHP 응용 프로그램을 확장하기 어렵고 많은 병렬 알고리즘을 사용할 수 있다는 것을 알게되었습니다. 얼마나 많은 사용자가 내 웹 사이트에 대해 웹 호스트를 지원하는지 테스트하고 싶습니다. 내 로컬 호스트는 얼마나 많은지 테스트하고 싶습니다.

그것은 포함, 다른 같은 소셜 네트워크는 다음과 같습니다 메인 페이지에서 (이미지)

  • 게시 데이터입니다.
  • 사용자 간 채팅 (3 초마다 폴링으로, facebook에서 하나 같이 고려하십시오).
  • 질문 응답 포럼 (그냥이 하나, 또는 야후 답변으로 - 포함 upvotes, downvotes, 포인트 등)
  • 두 HTML5 서버 전송 이벤트가 무한 실행 루프.
  • MySQL 데이터베이스에서 데이터를 검색하기위한 많은 AJAX 요청.

현재로서는 아직 계획하지 않은 캐시 옵션을 적용하지 않았습니다. 또한 채팅 응용 프로그램을 폴링에서 웹 소켓 (HTML5)으로 전환해야합니다.

예상 사용자 데이터베이스는 100,000 명이 넘습니다. 심각한 확장 성이 필요할 수도 있습니다.

같은 종류의 서버가 필요한지 알아야합니다. 전용 서버 여야하는데, 2 대 이상이어야합니까?

Apache의 bin 폴더에있는이 ab.exe를 시도했지만 수동으로 제공하는 위치를 테스트합니다. 소셜 네트워크는 모든 데이터에 액세스하기 위해 로그인 정보가 필요합니다. 불행히도 Ab.exe의 기능은 "환영"페이지의 가용성에만 제한되며, 위에서 언급 한 AJAX 및 HTML5 기능에 대한 정보는 제한됩니다.

내 랩톱 (Windows, Intel i5, 4GB RAM, 2.0GHz)과 동일한 하드웨어에 대한 웹 사이트의 확장 성을 정확히 테스트해야하며, 공유 서버에서 사용할 수있는 확장 성은 무엇입니까? 사람.

+0

귀하는 하룻밤 사이에 100,000 명의 사용자를 얻지 못할 것입니다. 사이트에서 실제 사람들을 만나면 병목 현상에 대해 훨씬 더 잘 알 수 있습니다. IMHO, 실제 크기 조정이 필요할 때까지 크기 조정을 기다립니다. –

+0

[Gatling] (http://gatling-tool.org/)과 같은 것을 사용하는 파괴 테스트 –

+0

@Sam Dufel - 내 길을 계획하려고합니다. 웹 사이트 서버가 충돌하여 매 순간마다 사용자를 잃어 버리는 것을 원하지 않습니다. 또한 특정 그룹의 사람들을 대상으로합니다. 평소보다 일찍 확장 성 옵션이 필요할 수도 있습니다. – kamal0808

답변

4

간단히 말하면 : 부화하기 전에 닭을 세고있는 것입니다. 많은 신규 사용자에 의해 압도 당하면 우리는 "좋은 문제"라고 부르는 경향이 있습니다. Memcached 또는 Redis

  1. 캐싱 : 당신이 길을 따라 scalability 걱정 경우에, 당신은에 보일 것입니다.
  2. Load balancing.
  3. Apache to Nginx에서 스위칭 중입니다.
  4. 적절한 CDN을 제공하십시오.
  5. PHP를 사용하고 있으므로 opcache을 설치해야합니다.

결과를 뽑아내는 데는 여러 가지 방법이 있습니다. 필요할 때까지 모범 사례 (표준화 등)를 고수하는 것이 좋습니다.

+0

Apache에서 Memcached없이 공유 서버를 사용할 수 있습니까? 나는 적어도 atleast에서 3 개월의 시험을 치르게 될 것입니다. – kamal0808

0

귀하의 호스팅 업체가 귀하의 응용 프로그램에 대처할 수있는 능력이 부족한 경우 가장 먼저해야 할 일은 그들과 연락하여 그들이 이용할 수있는 용량과 그들의 환경이 얼마나 확장 가능한지를 논의하는 것입니다.

자신을 호스팅하지 않는 한 상황을 제어 할 수 없습니다.

하지만 사용자 수가 매우 빠르게 증가 할 것으로 생각된다면 제공자와 일찍 대화를 시작하는 것이 좋습니다.

관련 문제