Button Button
XSSFilter could not parse (X)HTML:


<p>From sputnik-list-bounces@lists.luaforge.net Fri Jan 30 08:55:48 2009
Received: from pop.gmail.com (ag-in-f109.google.com [72.14.247.109])</p>
<pre><code>by localhost (mpop-1.0.11) with POP3
for <yuri>; Fri, 30 Jan 2009 08:55:48 +0000
</code></pre>
<p>Delivered-To: sputnik.list.archiver@gmail.com
Received: by 10.142.161.20 with SMTP id j20cs1367458wfe;</p>
<pre><code>    Thu, 15 Jan 2009 03:19:50 -0800 (PST)
</code></pre>
<p>Received: by 10.100.8.17 with SMTP id 17mr991631anh.85.1232018389901;</p>
<pre><code>    Thu, 15 Jan 2009 03:19:49 -0800 (PST)
</code></pre>
<p>Return-Path: <a href="mailto:sputnik-list-bounces@lists.luaforge.net">sputnik-list-bounces@lists.luaforge.net</a>
Received: from mail.luaforge.net (www.luaforge.net [147.65.1.201])</p>
<pre><code>    by mx.google.com with ESMTP id b14si43374896ana.32.2009.01.15.03.19.39;
    Thu, 15 Jan 2009 03:19:49 -0800 (PST)
</code></pre>
<p>Received-SPF: pass (google.com: domain of sputnik-list-bounces@lists.luaforge.net designates 147.65.1.201 as permitted sender) client-ip=147.65.1.201;
Authentication-Results: mx.google.com; spf=pass (google.com: domain of sputnik-list-bounces@lists.luaforge.net designates 147.65.1.201 as permitted sender) smtp.mail=sputnik-list-bounces@lists.luaforge.net; dkim=neutral (body hash did not verify) header.i=@gmail.com
Received: from localhost ([127.0.0.1] helo=localhost.localdomain)</p>
<pre><code>by mail.luaforge.net with esmtp (Exim 4.50)
id 1LNS5a-0005f2-Rc; Thu, 15 Jan 2009 11:16:50 -0200
</code></pre>
<p>Received: from rv-out-0506.google.com ([209.85.198.234])</p>
<pre><code>by mail.luaforge.net with esmtp (Exim 4.50) id 1LM5da-0008BG-M3
for sputnik-list@lists.luaforge.net; Sun, 11 Jan 2009 17:06:19 -0200
</code></pre>
<p>Received: by rv-out-0506.google.com with SMTP id k40so10243059rvb.29</p>
<pre><code>for <sputnik-list@lists.luaforge.net>;
Sun, 11 Jan 2009 09:08:55 -0800 (PST)
</code></pre>
<p>DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;</p>
<pre><code>h=domainkey-signature:received:received:message-id:date:from:sender
:to:subject:mime-version:content-type:content-transfer-encoding
:content-disposition:x-google-sender-auth;
bh=fIvUYU2y/GaVymLuCWEjrfqaBpX/413oyGIeO6ma0rY=;
b=Smr/ryjcc2StXJFr4FcPii7v+5gNl7J2wKKUYQ1rb7Gbil/jESCAfxFBN25ItcVlSU
37W1BM4P04f+3ZjXRblS+4v3TI4+4E6Vk9/u1SATkiHHaVRf5nBA02hrqaj1bNHlkL60
OJv5lA4G5GYkV9TDZPT598kPy1DUOeFMTfmXU=
</code></pre>
<p>DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma;</p>
<pre><code>h=message-id:date:from:sender:to:subject:mime-version:content-type
:content-transfer-encoding:content-disposition:x-google-sender-auth;
b=uKynO+XDrlXfslpetlAQAzZmcoQ1qiHoLZ68nFaMCdHfIOmxWhAdCUfn+FqufO3z6W
Dnc63ae1jjAaa4WJgQZjTrDOGeW9XjJL/TypwO2oZ0BO1bGvICOL+KQKPc0JCZcEjMnh
yhR72fLHbsJ6UMvuWXQaYvntssnUNOwRF0qsE=
</code></pre>
<p>Received: by 10.141.105.18 with SMTP id h18mr13934160rvm.109.1231693735232;</p>
<pre><code>Sun, 11 Jan 2009 09:08:55 -0800 (PST)
</code></pre>
<p>Received: by 10.140.128.1 with HTTP; Sun, 11 Jan 2009 09:08:55 -0800 (PST)
Message-ID: <a href="mailto:fa4efbc00901110908k5f5fa3ebw46142dbe2cc7bc43@mail.gmail.com">fa4efbc00901110908k5f5fa3ebw46142dbe2cc7bc43@mail.gmail.com</a>
Date: Sun, 11 Jan 2009 15:08:55 -0200
From: "Yuri Takhteyev" <a href="mailto:yuri@sims.berkeley.edu">yuri@sims.berkeley.edu</a>
To: Sputnik <a href="mailto:sputnik-list@lists.luaforge.net">sputnik-list@lists.luaforge.net</a>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
X-Google-Sender-Auth: 829c58d07e5107fe
Subject: [Sputnik-list] speeding up sputnik
X-BeenThere: sputnik-list@lists.luaforge.net
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "An all-purpose list for now." <sputnik-list.lists.luaforge.net>
List-Unsubscribe: <a href="http://lists.luaforge.net/cgi-bin/mailman/listinfo/sputnik-list">http://lists.luaforge.net/cgi-bin/mailman/listinfo/sputnik-list</a>,</p>
<pre><code><mailto:sputnik-list-request@lists.luaforge.net?subject=unsubscribe>
</code></pre>
<p>List-Archive: <a href="http://lists.luaforge.net/pipermail/sputnik-list">http://lists.luaforge.net/pipermail/sputnik-list</a>
List-Post: <a href="mailto:sputnik-list@lists.luaforge.net">sputnik-list@lists.luaforge.net</a>
List-Help: <a href="mailto:sputnik-list-request@lists.luaforge.net?subject=help">sputnik-list-request@lists.luaforge.net?subject=help</a>
List-Subscribe: <a href="http://lists.luaforge.net/cgi-bin/mailman/listinfo/sputnik-list">http://lists.luaforge.net/cgi-bin/mailman/listinfo/sputnik-list</a>,</p>
<pre><code><mailto:sputnik-list-request@lists.luaforge.net?subject=subscribe>
</code></pre>
<p>Sender: sputnik-list-bounces@lists.luaforge.net
Errors-To: sputnik-list-bounces@lists.luaforge.net</p>

<p>A list member who wanted to stay unnamed pointed out that Sputnik's
performance can be improved quite a bit by telling the client to cache
javascript and css files. I added support for this, and also made some
other changes to make YSlow happy.</p>

<ol>
    <li>Caching</li>
</ol>

<p>Nodes have two new fields: http<em>cache</em>control and http<em>expires. Both
are set to nil at the level of @Root, but are then re-set for @CSS,
@JavaScript, @Binary</em>File and sputnik/css/colors - for now to
"max-age=3D3600" and "2" respectively.  The value of http<em>cache</em>control
is passed directly to the client as "Cache-Control" header, and
http_expires is interpreted as an offset (in hours) to set the
timestamp in the "Expires" header.  (I expect to tweak the value and
am looking for suggestions.)</p>

<p>This means that if you do nothing then images, css files and
javascript files will be cached for an hour by the client. If you are
making changes to those nodes (e.g., uploading a new logo) and want to
see the effects, you will need to do click on "reload" button in the
browser while holding shift. (Your users won't see the new logo until
their cache expires.) This seems to speed up the loading by a factor
of 3, after the first page view.</p>

<ol>
    <li>JavaScript at the bottom.</li>
</ol>

<p>I moved all JavaScript to the bottom of the page, as YSlow recommends.
This doesn't seem to make any drastic changes, though I didn't measure
it very precisely.</p>

<ol>
    <li>Gzipping content</li>
</ol>

<p>I used Igancio Burge=F1o's code (see an email to the Kepler list in
November) to add support for content compression. To enable this you
would need to set "USE_COMPRESSION" config parameter to "true" and
install lzlib rock. (Available from the main repository: "luarocks
install lzlib".) Again, I haven't noticed any huge improvements from
where I am at the moment, but perhaps in other cases it would make
more of a difference.</p>

<p>YSlow seems to be quite happy now, only wishing that we were using a
content delivery network. I am guessing further improvements in
performance would need to be from server-side profiling or from
server-side caching. (Or from adding support for content delivery
networks, as YSlow suggests.)</p>

<ul>
    <li>yuri</li>
</ul>

<p>--=20
http://sputnik.freewisdom.org/</p>

<hr/>
<p>Sputnik-list mailing list
Sputnik-list@lists.luaforge.net
http://lists.luaforge.net/cgi-bin/mailman/listinfo/sputnik-list</p>