On 08/10/2010 12:37 AM, Sidnei da Silva wrote:
On Mon, Aug 9, 2010 at 3:25 PM, Marius Gedminas<marius@gedmin.as> wrote:
I've added ETag support for zope.browserresource in a branch: http://zope3.pov.lt/trac/changeset/115596
Does anybody have any comments/objections? If not, I'd like to merge this to trunk and release zope.browserresource 3.11.0.
+1 as long as there's a way to disable or configure how it's computed. There's some information about issues with ETags here:
http://developer.yahoo.com/performance/rules.html#etags
I see that your implementation uses last-modified + size, which should generally be fine. However if you're load-balancing across two different servers and the timestamps don't match then the ETag is useless.
On a completely different note, I see that the File object reads the whole file into memory. Hum. Maybe RAM is cheaper than Disk these days and it doesn't matter, but reading whole files into memory generally raises a red flag for me.
IOPS aren't cheap nowadays. The IOPS/MB have had the issue that the MB kept increasing a lot in disks but the IOPS didn't catch up that much, so it may not even be a RAM issue but throughput/caching/IOPS. -- Christian Theune · ct@gocept.com gocept gmbh & co. kg · forsterstraße 29 · 06112 halle (saale) · germany http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1 Zope and Plone consulting and development