Successful QUIC Deployment Outside Google

1,086 views
Skip to first unread message

Joonsung Lee

unread,
Aug 10, 2016, 6:04:21 AM8/10/16
to proto...@chromium.org
Hello.

We are pleased to share our first successful QUIC deployment to our mobile game service!  I am working at Devsisters and making "Cookie Run"[1], which is one of the most famous mobile game in Asia.

Our team has developed and maintained goquic[2] and libquic[3] from last year.  We have been testing and ramping up QUIC to production since April.  Moreover, since last month, all the users are using QUIC as their main transport.  I want to share our observations because the result was quite impressive.

The graph below represents 95% percentile request latency.  It is from our real-time monitoring system which collects per-request latency between server and client.

Inline image 1

The graph below is the cumulative latency distribution (CDF) for two weeks period.

Inline image 2

Interestingly, HTTP2 shows no performance advantages compared to HTTP1.  This result is in line with previous research.[4]  QUIC shows better performance compared to HTTP1 in practically all conditions.

We are using a reverse proxy[5] made with GoQuic on AWS.  Clients use Chromium's Cronet[6] to enable QUIC.  The main users of this game are from South Korea.  Although mobile network quality in South Korea is excellent, QUIC is showing exceptional performance.  We are very happy with the results.

We are planning a game that targets the global audience.  Furthermore, we will use QUIC as the main transport.  We expect good results.

Lastly, we would like to thank Google for open sourcing QUIC!  Kudos to them!



[4] Erman, Jeffrey, et al. "Towards a SPDY’ier mobile web?." IEEE/ACM Transactions on Networking 23.6 (2015): 2010-2023.

--

DEVSISTERS COOKIERUN
Joonsung Lee

Software Engineer

Alyssa (Rzeszutek) Wilk

unread,
Aug 10, 2016, 11:29:51 AM8/10/16
to proto...@chromium.org
Fantastic news, thanks for sharing!
cheers,
Alyssa

--
You received this message because you are subscribed to the Google Groups "QUIC Prototype Protocol Discussion group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to proto-quic+unsubscribe@chromium.org.
To post to this group, send email to proto...@chromium.org.
For more options, visit https://groups.google.com/a/chromium.org/d/optout.

Ryan Hamilton

unread,
Aug 10, 2016, 2:11:39 PM8/10/16
to proto...@chromium.org
Excellent data. Thanks for sharing it! It's wonderful to see other folks achieving latency reduction with QUIC.

I do have one question, though not about QUIC :> Your message says that "HTTP2 shows no performance advantages compared to HTTP1", but the first graphs seems to suggest that HTTP/2 latency is much closer to QUIC latency than to that of HTTP/1.1. Can you clarify?

Cheers,

Ryan

--

Rogier 'DocWilco' Mulhuijzen

unread,
Aug 10, 2016, 3:33:35 PM8/10/16
to QUIC Prototype Protocol Discussion group


On Wednesday, August 10, 2016 at 11:11:39 AM UTC-7, r...@chromium.org wrote:

I do have one question, though not about QUIC :> Your message says that "HTTP2 shows no performance advantages compared to HTTP1", but the first graphs seems to suggest that HTTP/2 latency is much closer to QUIC latency than to that of HTTP/1.1. Can you clarify?

The first graph is a 95th percentile, which I believe should roughly match the values you intersect if you draw a horizontal line on the CDF graph at 0.95.

Tomasz Jamroszczak

unread,
Aug 11, 2016, 3:47:18 AM8/11/16
to proto...@chromium.org
On Wed, 10 Aug 2016 12:04:17 +0200, Joonsung Lee <joon...@devsisters.com>
wrote:

> Hello.
>
> We are pleased to share our first successful QUIC deployment to our
> mobile
> game service! I am working at Devsisters and making "Cookie Run"[1],
> which
> is one of the most famous mobile game in Asia.

Hi, congratulations!
I'd like to know what kind of data you transfer with QUIC and how
frequently. Some games prefer UDP traffic because there's no head-of-line
blocking and they allow loosing part of the data. Is this the case with
your game? Why do you need low latency?

--
Best Regards
Tomasz Jamroszczak

Ryan Hamilton

unread,
Aug 11, 2016, 6:15:07 PM8/11/16
to proto...@chromium.org
​But my point is that such values look quite different to me. I don't understand how to draw the conclusion that there is no performance advantage in HTTP/2 vs HTTP/1.1.

Jim Roskind

unread,
Aug 11, 2016, 6:28:40 PM8/11/16
to proto...@chromium.org
Very cool! Thank you for sharing your data as well. 

I look forward to seeing others use this reverse proxy approach in front of AWS servers.

Jim

On Wed, Aug 10, 2016 at 3:04 AM, Joonsung Lee <joon...@devsisters.com> wrote:

--

Brian Hong

unread,
Aug 12, 2016, 2:11:54 AM8/12/16
to proto...@chromium.org
Please take caution when interpreting the 95% percentile latency graph.  Since we are using Prometheus to monitor this metrics, the percentile calculation is merely an approximation.  We are using histogram approach which limits it's accuracy by width of the relevant bucket. [1]  By contrast, the Latency CDF graph was calculated using all the data in the log using Spark.
--
You received this message because you are subscribed to the Google Groups "QUIC Prototype Protocol Discussion group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to proto-quic+...@chromium.org.

Brian Hong

unread,
Aug 12, 2016, 2:18:48 AM8/12/16
to proto...@chromium.org
This is a casual/mid-core game that requires some interactions with the server. Compared to fully online games like Clash Royale, the traffic is modest.  But it's definitely requires more traffic than games like Candy Crush Saga.

User signing in, getting friends score, buying in-app items, starting/ending a game all require server interaction.  We were originally using HTTP as transport.  We mostly send JSON serialised traffic over it.

Reducing latency makes user experience much better.  Especially when their internet connection is not that good.

Taylor Bollman

unread,
Nov 18, 2016, 7:59:19 PM11/18/16
to QUIC Prototype Protocol Discussion group
Another good, recent implementation from outside Google is Stellite: https://github.com/line/stellite. It has server and client implementations in C++, and server supports reverse proxy. It was developed and open-sourced by LINE. 

This is in production in at least 'LINE Fighters' mobile game.

A slide and video presentation by a lead developer on the project has some good info: http://linedevday.linecorp.com/jp/2016/#B-5

Ryan Hamilton

unread,
Nov 18, 2016, 8:12:26 PM11/18/16
to proto...@chromium.org
Wow, that's exciting. Thanks for sharing!

To unsubscribe from this group and stop receiving emails from it, send an email to proto-quic+unsubscribe@chromium.org.

Jim Roskind

unread,
Nov 18, 2016, 9:36:30 PM11/18/16
to proto...@chromium.org
+1

Most excellent! Way cool!!!!
Reply all
Reply to author
Forward
0 new messages