2016-10-19 3 views
2

나는 서버에서 브라우저로 0.5 초마다 데이터를 밀어 넣기 위해 SSE aproach를 사용하는 프로젝트에서 일하고있다.서버 송신 이벤트로 인해 브라우저에 과부하가 걸릴 수 있습니까?

Mysql의 데이터를 JSON으로 변환하여 브라우저로 보냅니다.

브라우저가 몇 달 동안 작동하는 극단적 인 시나리오에 궁금해했습니다 (가능). 서버는 하루에 2.764.800 JSON을 브라우저로 보냅니다. 월간 82.944.000 푸시가 될 것입니다.

이 시나리오에서 우려 할 사항이 있습니까? 내 말은, 브라우저에 과부하가 걸릴지, 클라이언트 시스템에 그런 양의 데이터가있는 것입니까?

X 초마다 페이지 새로 고침을 정당화 할 수있는 장면이 있습니까?

답변

1

자세한 내용이 없으면 "아마도 페이지를 새로 고침해야 할 필요는 없습니다."라고 대답 할 수 있습니다.

내가 아는 한, SSE 측면에는 특별한 제한이 없습니다. 따라서 서버에서 데이터 항목을 수신하고 div의 값을 업데이트하며 수신 된 데이터를 저장하지 않는 일반적인 예에서는 메모리가 증가하지 않아야합니다. 2 초도 괜찮습니다.

마지막 N 값을 그래프로 나타 내기 위해 데이터를 저장하는 경우 마지막 N보다 오래된 값이 정기적으로 버려지는지 확인해야합니다.

내 관심은 다른 곳에 다음과 같습니다

  • 브라우저 버그
  • 자바 스크립트 메모리 관리. 예 : 가비지 컬렉터가 처리 할 수없는 의도하지 않은 순환 종속성 (예 : This)이 주제에 대해 좋은 토론을 보았습니다. 다른 하나는 here입니다.
  • 신뢰할 수없는 인터넷 - 일부 서버 또는 라우터가 종료 된 소켓을 닫기로 결정했습니다. 오랜 시간을 열어 라. (SSE는 이 비록 일이 바로 자동 재 연결한다 -. 나는 때로는 소켓 않은 정상적으로 종료 얻을, 또한 상단에 약간의 연결 유지 메시지를 추가하는 것을 선호가) 얼마나 오래

당신은 또한 자신을 요청할 수 있습니다 사람들은 브라우저를 열어 놓고 걱정하지 않아도됩니다.

거래 응용 프로그램에서 (매일 또는 금요일 저녁이든) 의도적으로 소켓을 닫는 것이 좋은 시점입니다.

+0

안녕 대런, 병원용 앱입니다 (24/7 hs). 그것은 인트라넷에서 작동합니다. LEMP 스택을 사용하고 있습니다. 각 0.5 초에는 정보를 수집하고 SSE-JSON을 통해 클라이언트에 보내는 데이터베이스에 대한 쿼리가 있습니다. 데이터베이스는 일반 양식 및 IoT 장치로부터 데이터를 수신합니다. 이 순간에는 데이터베이스에서 변경된 필드 만 표시됩니다. 그러나 다음 단계는 차트를 실시간으로 표시하는 것입니다 (예 : 거래 응용 프로그램). 나는 PHP에서 오는 시간 (시계)을 사용자에게 보여주고 서버와의 연결이 실행 중이고 데이터가 업데이트됩니다. – zwitterion

+0

시계가 멈 추면 연결에 문제가있어 시계가 멈 춥니 다. 그리고 각 60s 페이지를 새로 고침하여 안정적이고 올바르게 작동하는 연결에 대한 코드를 작성합니다. – zwitterion

+0

"자바 스크립트 메모리 관리"라는 두 번째 요점을 더 잘 설명해 주시겠습니까? – zwitterion

관련 문제