On 8/27/07, Pekka Jääskeläinen <[EMAIL PROTECTED]> wrote:
>
> On 8/27/07, Ben Bangert <[EMAIL PROTECTED]> wrote:
> >
> > I'd highly suggest taking a look at Yahoo's ySlow Firefox extension
> > which can rank several important factors that affect how long the
> > browser takes to fully load a page. Javascript should be loaded at
> > the bottom of your page whenever possible as they'll block the
> > browser from downloading images and other page components.
>
>
> Looks like an excellent tool. I'll take a look.
>

Yes. Excellent tool indeed.

It revealed a problem with cache headers (I've discussed this on IRC with
nick 'visit0r'):

The tool says:
These components do not have a far future Expires header:
<http://localhost:5000/style/movietron_original.css>

   - ParamsHeadersPost
   Response Headers

   Server:
   PasteWSGIServer/0.5 Python/2.5.1
   Date:
   Mon, 27 Aug 2007 16:26:11 GMT
   Content-Type:
   text/css
   Accept-Ranges:
   bytes
   Last-Modified:
   Wed, 22 Aug 2007 16:28:10 GMT
   Etag:
   1187800090.0-12360
   Content-Range:
   0-12359/12360
   Content-Length:
   12360
   Loading...


   - <javascript:document.yslowContext.viewHeaders('headerExpiresDiv_1')> (no
   expires) http://localhost:5000/img/header1.gif
   - ParamsHeadersPost
   Response Headers

   Server:
   PasteWSGIServer/0.5 Python/2.5.1
   Date:
   Mon, 27 Aug 2007 16:26:11 GMT
   Content-Type:
   image/gif
   Accept-Ranges:
   bytes
   Last-Modified:
   Mon, 02 Jul 2007 18:00:20 GMT
   Etag:
   1183399220.0-10983
   Content-Range:
   0-10982/10983
   Content-Length:
   10983
   Loading...


   - <javascript:document.yslowContext.viewHeaders('headerExpiresDiv_2')> (no
   expires) http://localhost:5000/img/header1b.gif
   - ParamsHeadersPost
   Response Headers

   Server:
   PasteWSGIServer/0.5 Python/2.5.1
   Date:
   Mon, 27 Aug 2007 16:26:11 GMT
   Content-Type:
   image/gif
   Accept-Ranges:
   bytes
   Last-Modified:
   Mon, 02 Jul 2007 18:00:20 GMT
   Etag:
   1183399220.0-4850
   Content-Range:
   0-4849/4850
   Content-Length:
   4850
   Loading...


   - <javascript:document.yslowContext.viewHeaders('headerExpiresDiv_3')> (no
   expires) http://localhost:5000/img/menu2.gif
   - ParamsHeadersPost
   Response Headers

   Server:
   PasteWSGIServer/0.5 Python/2.5.1
   Date:
   Mon, 27 Aug 2007 16:26:11 GMT
   Content-Type:
   image/gif
   Accept-Ranges:
   bytes
   Last-Modified:
   Mon, 02 Jul 2007 18:00:20 GMT
   Etag:
   1183399220.0-460
   Content-Range:
   0-459/460
   Content-Length:
   460
   Loading...


   - <javascript:document.yslowContext.viewHeaders('headerExpiresDiv_4')> (no
   expires) http://localhost:5000/img/header1c.gif
   - ParamsHeadersPost
   Response Headers

   Server:
   PasteWSGIServer/0.5 Python/2.5.1
   Date:
   Mon, 27 Aug 2007 16:26:11 GMT
   Content-Type:
   image/gif
   Accept-Ranges:
   bytes
   Last-Modified:
   Thu, 05 Jul 2007 10:56:57 GMT
   Etag:
   1183633017.0-861
   Content-Range:
   0-860/861
   Content-Length:
   861
   Loading...


   - <javascript:document.yslowContext.viewHeaders('headerExpiresDiv_5')> (no
   expires) http://localhost:5000/img/feed-icon-24x24.png
   - ParamsHeadersPost
   Response Headers

   Content-Type:
   image/png
   Accept-Ranges:
   bytes
   Last-Modified:
   Thu, 22 Dec 2005 20:14:26 GMT
   Etag:
   1135282466.0-1090
   Content-Range:
   0-1089/1090
   Content-Length:
   1090
   Date:
   Mon, 27 Aug 2007 16:26:11 GMT
   Server:
   PasteWSGIServer/0.5 Python/2.5.1
   Loading...


   - <javascript:document.yslowContext.viewHeaders('headerExpiresDiv_6')> (no
   expires) http://localhost:5000/img/prev_disabled.gif
   - ParamsHeadersPost
   Response Headers

   Server:
   PasteWSGIServer/0.5 Python/2.5.1
   Date:
   Mon, 27 Aug 2007 16:26:11 GMT
   Content-Type:
   image/gif
   Accept-Ranges:
   bytes
   Last-Modified:
   Fri, 03 Aug 2007 01:00:43 GMT
   Etag:
   1186102843.0-1289
   Content-Range:
   0-1288/1289
   Content-Length:
   1289
   Loading...


   - <javascript:document.yslowContext.viewHeaders('headerExpiresDiv_7')> (no
   expires) http://localhost:5000/img/next.gif
   - ParamsHeadersPost
   Response Headers

   Server:
   PasteWSGIServer/0.5 Python/2.5.1
   Date:
   Mon, 27 Aug 2007 16:26:12 GMT
   Content-Type:
   image/gif
   Accept-Ranges:
   bytes
   Last-Modified:
   Fri, 03 Aug 2007 00:18:52 GMT
   Etag:
   1186100332.0-1334
   Content-Range:
   0-1333/1334
   Content-Length:
   1334
   Loading...


   - <javascript:document.yslowContext.viewHeaders('headerExpiresDiv_8')> (no
   expires) http://localhost:5000/img/header2.gif
   - ParamsHeadersPost
   Response Headers

   Server:
   PasteWSGIServer/0.5 Python/2.5.1
   Date:
   Mon, 27 Aug 2007 16:26:12 GMT
   Content-Type:
   image/gif
   Accept-Ranges:
   bytes
   Last-Modified:
   Mon, 02 Jul 2007 18:00:20 GMT
   Etag:
   1183399220.0-650
   Content-Range:
   0-649/650
   Content-Length:
   650
   Loading...


   - <javascript:document.yslowContext.viewHeaders('headerExpiresDiv_9')> (no
   expires) http://localhost:5000/img/menu2.gif
   - ParamsHeadersPost
   Response Headers

   Server:
   PasteWSGIServer/0.5 Python/2.5.1
   Date:
   Mon, 27 Aug 2007 16:26:11 GMT
   Content-Type:
   image/gif
   Accept-Ranges:
   bytes
   Last-Modified:
   Mon, 02 Jul 2007 18:00:20 GMT
   Etag:
   1183399220.0-460
   Content-Range:
   0-459/460
   Content-Length:
   460
   Loading...


   -
   <javascript:document.yslowContext.viewHeaders('headerExpiresDiv_10')> (no
   expires) http://localhost:5000/img/taustamatta.gif

So, it seems the static contents in 'public' do not have cache headers
by default set like they should. This is with Pylons 0.9.6rc3 (upgraded
rc-by-rc from 0.9.5).

Next issue:

These components are not gzipped:
*displays the css* here

How do I use the gzipper of paster? What should I add to the Pylons conf?

Otherwise, it seemed the bottleneck was the .js files, like I suspected.

Thanks again for pointing this useful tool out. I might collect these
optimization
tips to a receipe wiki at some point.

-- 
--PJ

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to