2010-05-29 2 views
1

서버를 폴링하는 것이 최선의 방법이 아니라고 들었습니다.wamp apache - 지속적으로 폴링하는 서버

내가 클라이언트 - 서버 응용 프로그램을 만들었다 고 가정 해 봅시다. 예를 들어 간단한 게임. 각 클라이언트가 30 분마다 서버를 폴링합니다. wamp 서버에 과부하가 걸리기 전에 얼마나 많은 클라이언트를 가질 수 있습니까? 기본적으로 아파치는 이런 종류의 물건에 얼마나 강건한가요? 요청을 받고, mysql 서버에서 데이터를 집계 한 다음 xml 형식으로 데이터를 반환합니다.

+0

이것은 아파치의 구성 설정, 실행중인 시스템의 유형, 네트워크 토폴로지 등을 포함하여 매우 다양한 요소에 따라 달라집니다. serverfault.com에서 묻는 것이 좋습니다. 대답. – JYelton

답변

0

이것은 정말로 열린 질문입니다. 그것은 전적으로 귀하의 설정에 달려 있습니다. 얼마나 많은 아파치 서비스를 운영하고 있습니까? 얼마나 많은 물리적 서버가 있습니까? mysql 서버는 어떻게 설정되어 있습니까? 또한 서버를 폴링하면 매번 연결을 시작하고 해당 통신에 대한 리소스를 할당해야합니다 (낮은 수준의 네트워킹 및 프로그램에서).

가능한 경우 서버에서 클라이언트로 콘텐츠를 푸시하는 것이 좋습니다 (푸시가 폴링보다 빈번하게 발생한다고 가정 할 경우).

0

숫자를 줄 수는 없습니다. 하드웨어 (하드웨어 포함)에 따라 다릅니다.

당신에게 더 중요한 것 : 얼마나 많은 동시 사용자를 지원할 수 있습니까? 또는 실시간 결과가 어떻게됩니까?

실시간 결과를 찾으려면 Comet 또는 long polling과 같은 것을 조사하고 싶을 것입니다.

많은 사용자를 지원하려는 경우 긴 폴링 방식이 적합하지 않을 수 있으며 Apache보다 가벼운 것을 원할 것입니다. 개인적으로 나는 nginx의 팬입니다.

편집 : 만약 당신이 정말로 엉덩이를 느끼고 있다면 실시간 결과에 대한 가장 좋은 방법은 Web Sockets입니다.하지만 당신이 마이크로 소프트 녀석이라면 IE가 그렇게 잘하지 않을 것입니다. 그들을 지원하십시오.

0

제 생각에는 Apache 서버가 문제가되기 전에 요청이 처리되고 mysql 데이터베이스가 무엇이든간에 maxout 것입니다.

그러나 캐딜락이 적절한 위치에 있고 적절하게 스마트 한 아키텍처와 실용적인 디자인을 사용하고 효과적으로 30 초 폴링 만 수행하면 약 1000 명의 사용자를 지원할 수 있습니다.

하지만 조롱하고, 빠르고, 더럽고, 대략 생각한대로하고, 3, 10, 30, 100, 300, 1000, 3000, ..과 JMeter (또는 이와 비슷한)로 칠하십시오. 성과 벽을 찾을 때까지.

집계 데이터 부분에 대해 무서워 ... 집계가 실제로 필요한 경우 신중하게 설계해야 DB에 갈 필요가 없습니다. 프로덕션 환경에서 사용자를 죽일 것이므로 개발 단계에서 발견하게 될 것입니다. .