HTTP optimizations: streaming everything, gzip compression

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

HTTP optimizations: streaming everything, gzip compression

Janko Mivšek
Dear Aiders,

While watching an excellent presentation by Ilya Grigorik from Google
Web Fast Team:

        Faster Websites, Crash Course on Frontent Performance
        part1: http://parleys.com/#st=5&id=3648&sl=0
        part2: http://parleys.com/#st=5&id=3649&sl=1

I come to idea to implement few optimizations Ilya mentioned in his talk:

1. web page is now streamed to the browser to start sending as soon as
   possible so that browser can start fetching CSS and JS files listed
   in page header in parallel. Until now a whole page was first
   rendered before start sending.
2. gzip compression of page HTML and all other text resources like CSS
   and JavaScript. This reduces the load time substantially, usually
   about 5 times.

End result is more than twice faster page load time, both time until
page starts rendering on browser and overall load time. We are now below
250ms to the first byte time, which is nowadays a goal to regard your
site as a fast one. Note that this includes a DNS lookup time
(50-150ms), connection time (50-100ms) then content download.

Another achievements are 4 A on http://www.webpagetest.org:

        A First Byte Time
        A Keep-alive Enabled
        A Compress Transfer
        A Compress Images
        F Cache static
        X Content Delivery Network detected

This F cache static is such because we instruct browsers to cache images
only 24 hours. For a reason to more easy upgrade web apps without
needing instruct the users to reload pages. They just wait one day...

X Content Delivery Network, well, I'm not sure we would profit much to
use it except add another level of complexity ...

Google regards such optimizations in this pageRank algorithm, which is
one of the reasons to be worthwhile.

All those optimizations will be part of next Aida (and Swazoo) release,
it will also be soon on production server for http://www.aidaweb.si, so
that you can try by yourself :)

Best regards
Janko


--
Janko Mivšek
Aida/Web
Smalltalk Web Application Server
http://www.aidaweb.si
_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida
Reply | Threaded
Open this post in threaded view
|

Re: HTTP optimizations: streaming everything, gzip compression

garduino
Hi Janko:

Very interesting news, I will try to find some time to check all the info.

Please, let me know the changes in Swazoo/Aida, to be able of maintain
the Cuis ports.

--
Sincerely,
Germán Arduino
about.me/garduino


2013/2/5 Janko Mivšek <[hidden email]>:

> Dear Aiders,
>
> While watching an excellent presentation by Ilya Grigorik from Google
> Web Fast Team:
>
>         Faster Websites, Crash Course on Frontent Performance
>         part1: http://parleys.com/#st=5&id=3648&sl=0
>         part2: http://parleys.com/#st=5&id=3649&sl=1
>
> I come to idea to implement few optimizations Ilya mentioned in his talk:
>
> 1. web page is now streamed to the browser to start sending as soon as
>    possible so that browser can start fetching CSS and JS files listed
>    in page header in parallel. Until now a whole page was first
>    rendered before start sending.
> 2. gzip compression of page HTML and all other text resources like CSS
>    and JavaScript. This reduces the load time substantially, usually
>    about 5 times.
>
> End result is more than twice faster page load time, both time until
> page starts rendering on browser and overall load time. We are now below
> 250ms to the first byte time, which is nowadays a goal to regard your
> site as a fast one. Note that this includes a DNS lookup time
> (50-150ms), connection time (50-100ms) then content download.
>
> Another achievements are 4 A on http://www.webpagetest.org:
>
>         A First Byte Time
>         A Keep-alive Enabled
>         A Compress Transfer
>         A Compress Images
>         F Cache static
>         X Content Delivery Network detected
>
> This F cache static is such because we instruct browsers to cache images
> only 24 hours. For a reason to more easy upgrade web apps without
> needing instruct the users to reload pages. They just wait one day...
>
> X Content Delivery Network, well, I'm not sure we would profit much to
> use it except add another level of complexity ...
>
> Google regards such optimizations in this pageRank algorithm, which is
> one of the reasons to be worthwhile.
>
> All those optimizations will be part of next Aida (and Swazoo) release,
> it will also be soon on production server for http://www.aidaweb.si, so
> that you can try by yourself :)
>
> Best regards
> Janko
>
>
> --
> Janko Mivšek
> Aida/Web
> Smalltalk Web Application Server
> http://www.aidaweb.si
> _______________________________________________
> Aida mailing list
> [hidden email]
> http://lists.aidaweb.si/mailman/listinfo/aida
_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida
Reply | Threaded
Open this post in threaded view
|

Re: HTTP optimizations: streaming everything, gzip compression

Janko Mivšek
In reply to this post by Janko Mivšek
Hi guys,

New optimizations as now loaded on the production server so that you can
test new Aida speedups online by yourself while opening our website:

        1. go to http://www.webpagetest.org
        2. enter Website URL: http://www.aidaweb.si
                Test Location: Amsterdam
                Browser: Firefox
                Connection: FIOS (20/5 Mbps 4ms RTT)
        3. Click START TEST

With this setup I just got the following results:

            Load Time  First Byte  Start Render  Requests  Bytes

  First View  1.853s    0.199s        0.923s        43   440 KB
  Repeat View 0.956s    0.125s        0.471s         3     7 KB

So, only 200ms to the first byte and 1.8s for entire page of 43
requests. This is twice as fast as before (unfortunately I lost results
of previous tests). Also there are now all A and one X score:

  A First Byte Time
  A Keep-alive Enabled
  A Compress Transfer
  A Compress Images
  A Cache static
  X Content Delivery Network detected

Another test is Google's PageSpeed from FireBug or Chrome (load
PageSpeed addon first!),

        Page Speed Score: 75/100 (up from 50/100 before)

Here CSS sprites is what is still missing. CSS sprite are those small
images on the page composed into only one image: so called CSS sprite.
That way only one request is needed to load them all, instead of 20+
now. I'm also working on this.

Have anyone experiences with sprites ans specially using them from CSS?

It would be nice if you test from other test locations too and post
results here

Best regards
Janko


Dne 05. 02. 2013 18:20, piše Janko Mivšek:

> Dear Aiders,
>
> While watching an excellent presentation by Ilya Grigorik from Google
> Web Fast Team:
>
> Faster Websites, Crash Course on Frontent Performance
> part1: http://parleys.com/#st=5&id=3648&sl=0
> part2: http://parleys.com/#st=5&id=3649&sl=1
>
> I come to idea to implement few optimizations Ilya mentioned in his talk:
>
> 1. web page is now streamed to the browser to start sending as soon as
>    possible so that browser can start fetching CSS and JS files listed
>    in page header in parallel. Until now a whole page was first
>    rendered before start sending.
> 2. gzip compression of page HTML and all other text resources like CSS
>    and JavaScript. This reduces the load time substantially, usually
>    about 5 times.
>
> End result is more than twice faster page load time, both time until
> page starts rendering on browser and overall load time. We are now below
> 250ms to the first byte time, which is nowadays a goal to regard your
> site as a fast one. Note that this includes a DNS lookup time
> (50-150ms), connection time (50-100ms) then content download.
>
> Another achievements are 4 A on http://www.webpagetest.org:
>
> A First Byte Time
> A Keep-alive Enabled
> A Compress Transfer
> A Compress Images
> F Cache static
> X Content Delivery Network detected
>
> This F cache static is such because we instruct browsers to cache images
> only 24 hours. For a reason to more easy upgrade web apps without
> needing instruct the users to reload pages. They just wait one day...
>
> X Content Delivery Network, well, I'm not sure we would profit much to
> use it except add another level of complexity ...
>
> Google regards such optimizations in this pageRank algorithm, which is
> one of the reasons to be worthwhile.
>
> All those optimizations will be part of next Aida (and Swazoo) release,
> it will also be soon on production server for http://www.aidaweb.si, so
> that you can try by yourself :)
>
> Best regards
> Janko
>
>

--
Janko Mivšek
Svetovalec za informatiko
Eranova d.o.o.
Ljubljana, Slovenija
www.eranova.si
tel:  01 514 22 55
faks: 01 514 22 56
gsm: 031 674 565
_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida
Reply | Threaded
Open this post in threaded view
|

Re: HTTP optimizations: streaming everything, gzip compression

garduino
From: Buenos Aires, Argentina - Firefox - DSL
20 de febrero de 2013 12:25:57 GMT-03:00


Document Complete Fully Loaded
Load Time        First Byte Start Render Time Requests Bytes
In Time Requests Bytes In
First View        5.299s 1.467s 2.593s 5.299s 43 445 KB 7.627s 45 458 KB
Repeat View 1.190s 0.663s 1.000s 1.190s 3 13 KB 2.088s 3 13 KB

HTH.

2013/2/16 Janko Mivšek <[hidden email]>:

> Hi guys,
>
> New optimizations as now loaded on the production server so that you can
> test new Aida speedups online by yourself while opening our website:
>
>         1. go to http://www.webpagetest.org
>         2. enter Website URL: http://www.aidaweb.si
>                 Test Location: Amsterdam
>                 Browser: Firefox
>                 Connection: FIOS (20/5 Mbps 4ms RTT)
>         3. Click START TEST
>
> With this setup I just got the following results:
>
>             Load Time  First Byte  Start Render  Requests  Bytes
>
>   First View  1.853s    0.199s        0.923s        43   440 KB
>   Repeat View 0.956s    0.125s        0.471s         3     7 KB
>
> So, only 200ms to the first byte and 1.8s for entire page of 43
> requests. This is twice as fast as before (unfortunately I lost results
> of previous tests). Also there are now all A and one X score:
>
>         A First Byte Time
>         A Keep-alive Enabled
>         A Compress Transfer
>         A Compress Images
>         A Cache static
>         X Content Delivery Network detected
>
> Another test is Google's PageSpeed from FireBug or Chrome (load
> PageSpeed addon first!),
>
>         Page Speed Score: 75/100 (up from 50/100 before)
>
> Here CSS sprites is what is still missing. CSS sprite are those small
> images on the page composed into only one image: so called CSS sprite.
> That way only one request is needed to load them all, instead of 20+
> now. I'm also working on this.
>
> Have anyone experiences with sprites ans specially using them from CSS?
>
> It would be nice if you test from other test locations too and post
> results here
>
> Best regards
> Janko
>
>
> Dne 05. 02. 2013 18:20, piše Janko Mivšek:
>> Dear Aiders,
>>
>> While watching an excellent presentation by Ilya Grigorik from Google
>> Web Fast Team:
>>
>>       Faster Websites, Crash Course on Frontent Performance
>>       part1: http://parleys.com/#st=5&id=3648&sl=0
>>       part2: http://parleys.com/#st=5&id=3649&sl=1
>>
>> I come to idea to implement few optimizations Ilya mentioned in his talk:
>>
>> 1. web page is now streamed to the browser to start sending as soon as
>>    possible so that browser can start fetching CSS and JS files listed
>>    in page header in parallel. Until now a whole page was first
>>    rendered before start sending.
>> 2. gzip compression of page HTML and all other text resources like CSS
>>    and JavaScript. This reduces the load time substantially, usually
>>    about 5 times.
>>
>> End result is more than twice faster page load time, both time until
>> page starts rendering on browser and overall load time. We are now below
>> 250ms to the first byte time, which is nowadays a goal to regard your
>> site as a fast one. Note that this includes a DNS lookup time
>> (50-150ms), connection time (50-100ms) then content download.
>>
>> Another achievements are 4 A on http://www.webpagetest.org:
>>
>>       A First Byte Time
>>       A Keep-alive Enabled
>>       A Compress Transfer
>>       A Compress Images
>>       F Cache static
>>       X Content Delivery Network detected
>>
>> This F cache static is such because we instruct browsers to cache images
>> only 24 hours. For a reason to more easy upgrade web apps without
>> needing instruct the users to reload pages. They just wait one day...
>>
>> X Content Delivery Network, well, I'm not sure we would profit much to
>> use it except add another level of complexity ...
>>
>> Google regards such optimizations in this pageRank algorithm, which is
>> one of the reasons to be worthwhile.
>>
>> All those optimizations will be part of next Aida (and Swazoo) release,
>> it will also be soon on production server for http://www.aidaweb.si, so
>> that you can try by yourself :)
>>
>> Best regards
>> Janko
>>
>>
>
> --
> Janko Mivšek
> Svetovalec za informatiko
> Eranova d.o.o.
> Ljubljana, Slovenija
> www.eranova.si
> tel:  01 514 22 55
> faks: 01 514 22 56
> gsm: 031 674 565
> _______________________________________________
> Aida mailing list
> [hidden email]
> http://lists.aidaweb.si/mailman/listinfo/aida
_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida