Performance

mobile browser pipelining

ShineWithMe 2011. 8. 1. 10:49

모바일은 RTT(Round Trip Time)과 Latency가 유난히 길다. 한번 왕복에 보통 60~100ms라고 보면된다.
Pipelining은 주고받는 확인절차 없이 그냥 한꺼번에 (한번에 보내는 양은 브라우저마다 지원하는 Pipeling Spec에 따라 다르다.) 보냄으로써 RTT를 대폭 개선한다.






모바일 Pipelining을 지원하는 안드로이드, 오페라 성능을 보면 아 쫌 도움이 되는구나.. 느껴 볼 수 있다.
http://gs.statcounter.com/#mobile_browser-ww-monthly-201006-201106


PC야 머...모바일에 비해 RTT, latency 월등하니.. pipelining이 급히 필요한건 아니다.

Windows Desktop Browsers Supports Pipelining? Server Support Detection Max pipelined requests Max connections per host
IE 9 No - - 6
Chrome 12 No* - - 6
Safari 5.1 No - - 6
Opera 11.5 Yes Per Host 5 6
Firefox 5 Yes (Off by default) Per Connection 4 6

* Logged as an enhancement request since March, 2009




우리는 모바일 쪽 pipelining 지원을 유심히 보아야할 필요가 있다.
아... 사파리 배신...

Mobile Browsers Supports Pipelining? Server Support Detection Max pipelined requests Max connections per host
MobileSafari No - - 6
Blackberry No - - 5
Android Yes* Per Connection 3* 4*
Opera Mobile Yes Per Host 11 4
Opera Mini Yes** Per Host 4** 10**

* Details are for “stock” Android. Specific devices varied greatly.
** The stats are for the Opera Mini proxy, as the browser makes very few requests itself



서버에선 KA on, 문서는 HTTP1.1로

  1. Use of HTTP/1.1
  2. An explicit “Connection: Keep-Alive” header (required by Android)



안드로이드가 pipelining을 다 지원하는 건 아니고, 기기마다 다르다. 그래도 거의다 지원하는 편

Android Device OS Version Supports Pipelining? Max Connections Per Host Max Connections Max pipelined requests
Nexus S 2.3 Yes 4 4 3
Galaxy S 2.2 Yes 12 12 6
XOOM 3.0 No 6 35 -
Simulator 3.1 Yes 4 4 3




출처(source) :
http://www.blaze.io/mobile/http-pipelining-big-in-mobile/
http://www.brianp.net/2011/07/19/will-http-pipelining-help-a-study-based-on-the-httparchive-org-data-set/