사파리 브라우져의 웹소켓 성능 (with 3G)

· 2011-03-14 (월) 11:31:53 · 3577 · 4


서론을 조금 얘기하자면,,

차후 모바일의 트랜드는 웹앱입니다.(이로 인해 자바스크립트의 중요성이 높아지고 있음)
웹앱의 한계점은 바로 웹의 한계점과 같습니다.
바로 비연결지향이라는것... 데이타를 요청할때만 접속을 하고, 데이타 수신이 끝나면, 소켓자원을 해제해버립니다.
(keepalive는 비연결지향을 해결하기 위한 옵션이 아님으로 배제)
이런 한계를 해결하기 위해 여러 기술들이 나와있습니다만(ajax, iframe, long polling, 통칭 comet) 근본적인 해결책은 아닙니다.
웹소켓은 이러한 양방향 데이타 통신을 가능하게 해주는 HTML의 핵심 요소입니다.

최신 사파리 pc버전과, iOS4.2 이상에 탑재된 모바일 사파리(webkit) 에선 HTML5 의 websocket을 지원합니다.
주말에 아이폰으로 모바일 사파리의 웹소켓 성능을 테스트 해보았습니다.

1. 와이파이에선 일반 pc 소켓과 유사한 성능을 내준다.
2. 3G 에서는 연결상태에서 따라서 지연이 발생한다.
   : 대부분 3G의 통신 특성과 같이 나타납니다.
   - 지하철과 같은 고속이동, 감도가 나쁜지역에선 지연율이 높음.
   - 초당 10k 이하의 데이타 통신에선 별 문제 없음(문자기반의 데이타 통신에선 괜찮음)
   - (3G 가 안되는 블랙지역에선 역시 안된다.. 당연한거지만)
   - 지연이 발생하는 경우 가끔 발신 데이타를 잘라먹는다.(전송 데이타 스킵현상)
   - 일반적으로 데이타 발신속도보다 수신속도가 빠르다.
3. 아이폰 화면에서 장시간 대기모드(블랙스크린)로 들어간 경우, 종료버튼을 누르는경우에 자동으로 소켓은 끊긴다.
   - 자동 대기모드로 블랙스크린이 되더라도 일정 시간동안은 소켓이 끊기지 않는다.
      : 소켓이 연결되어 있는 경우임으로 당연히 밧데리가 소모된다.
4. 웹소켓 사용할땐 반드시 try catch 를 할것. 안그러면 홈스크린으로 아주 자주 튕기게 될것임

결론 : 이제 아이폰에서 websocket 을 이용하여 채팅과 같은 리얼타임 웹어플 제작 가능

- 일단 생각나는대로 적은것입니다. 나중에 내용을 추가하겠습니다

ps1)  3G 환경에서 소켓이 끊기는 경우는 

   - 장시간 데이타 지연이 되는 경우

   - 3G 안테나가 사라지는 경우(통신 블랙 지역인듯)

   :지하철 2호선에선 대림역 진입시 무조건 끊깁니다.

  

ps2) 3G의 경우 업로드 속도도 느리지만 connect 대기시간도 높은 편입니다.

     http 프로토콜로 데이타를 전송한다면, 하나의 결과페이지(또는 데이타)가 나오는데 걸리는 시간은

    총시간 = http 요청대기 + http데이타전송 + 서버처리시간(무시) + http데이타 수신 만큼 걸립니다.

    웹소켓은 접속이 되어 있는 상태기 때문에 이보다 짧습니다.(특히 서버 수신만 처리해야 하는경우는 더 빠름)


결론

 -  웹앱에서 서버쪽 데이타를 주기적으로 폴링해야와야 하는 상황이라면, 실시간성을 높히기 위해 웹소켓을 쓰는게 훨신 좋습니다.

 - 며칠동안 지하철 출퇴근하면서 웹소켓으로 구현한 채팅을 이용해본 결과, 좋은 결과를 얻었습니다.

 - 안드로이드도 얼른 웹소켓 지원했으면 좋겠습니다.(그러나 2.3 진저브레드도 웹소켓 지원을 안하네요.)

 - 다음에 재미난 기능을 하는 웹소켓을 응용한 웹앱을 하나 만들어서 애플 앱스토어에 올려놓도록 하겠습니다.

  


   

|

댓글 4개

2011-03-14 (월) 20:30:22
저도 꼭 해보고 싶은 주제인데요, 테스트를 해보셨군요. 추가정보 기대됩니다.^^
2011-03-18 (금) 14:30:28
아이폰이나 아이패드가 있으시다면
http://m.webtalk.kr 에 접속하시면, 데모 페이지를 보실수 있습니다.
저는 어제 http://dev.opera.com/를 통해서 이것저것 보긴 했는데
많이 어렵더라구요 ^^;; 하나 하나 차근히 풀어나가봐야 겠습니다

좋은 정보 감사합니다~
좋은 정보 감사드립니다...^ ^
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
11-09-08 조회 2,722
11-09-05 조회 2,592
11-09-02 조회 3,443
11-09-01 조회 2,520
11-09-01 조회 2,708
11-09-01 조회 3,986
11-08-31 조회 2,730
11-08-28 조회 2,456
11-08-26 조회 2,365
11-08-19 조회 2,594
11-08-19 조회 2,515
11-08-17 조회 2,624
11-08-17 조회 2,678
11-08-13 조회 2,487
11-08-11 조회 3,462
11-08-11 조회 2,686
11-08-08 조회 2,931
11-08-06 조회 2,670
11-08-06 조회 2,787
11-08-05 조회 2,990
11-08-05 조회 2,407
11-08-04 조회 2,859
11-08-02 조회 2,350
11-07-22 조회 3,921
11-07-21 조회 2,246
11-07-13 조회 2,618
11-07-08 조회 2,925
11-07-05 조회 2,065
11-06-28 조회 3,003
11-06-22 조회 2,511
11-06-22 조회 2,191
11-06-13 조회 2,290
11-06-07 조회 4,109
11-06-04 조회 2,915
11-05-19 조회 3,190
11-05-06 조회 2,936
11-04-20 조회 2,364
11-04-19 조회 2,503
11-04-05 조회 3,054
11-04-04 조회 2,968
11-04-03 조회 2,685
11-04-02 조회 2,804
11-04-01 조회 2,311
11-04-01 조회 2,460
11-04-01 조회 3,055
11-03-25 조회 2,529
11-03-18 조회 2,226
11-03-17 조회 3,167
11-03-10 조회 2,309
11-03-10 조회 2,309
11-03-10 조회 2,562
11-03-07 조회 3,727
11-03-05 조회 2,414
11-03-05 조회 4,900
11-03-02 조회 2,511
11-03-01 조회 2,471
11-02-24 조회 2,542
11-02-24 조회 2,370
11-01-17 조회 5,098
11-01-14 조회 3,053
11-01-07 조회 3,051
10-12-29 조회 2,390
10-12-28 조회 2,606
10-12-24 조회 2,339
10-12-09 조회 2,424
10-12-09 조회 3,628
10-12-08 조회 3,607
10-12-08 조회 3,010
10-12-08 조회 2,847
10-12-08 조회 3,244
10-11-30 조회 2,611
10-11-25 조회 2,477
10-11-15 조회 2,237
10-11-14 조회 4,209
10-10-28 조회 2,890
10-10-26 조회 3,190
10-10-13 조회 2,468
10-10-12 조회 2,691
10-10-09 조회 2,275
10-10-05 조회 3,291
10-09-30 조회 2,954
10-09-26 조회 4,072
10-09-24 조회 2,817
10-09-20 조회 2,657
10-09-20 조회 3,027
10-09-18 조회 2,398
10-09-18 조회 2,439
10-09-17 조회 4,224
10-09-15 조회 3,218
10-09-15 조회 2,708
10-09-15 조회 2,562
10-09-15 조회 2,381
10-09-11 조회 2,540
10-09-11 조회 2,703
10-09-11 조회 2,956
10-06-30 조회 3,624
10-06-30 조회 2,448
10-06-30 조회 2,411
10-06-30 조회 2,560
10-06-11 조회 2,473