[Zope] Re: WHY ? -- Performace in serving large media files from ZODB vs from external file system

Dieter Maurer dieter@handshake.de
Thu, 5 Jul 2001 19:48:34 +0200 (CEST)


Sedat Yilmazer writes:
 >  In the performance for large image files discussion  Dieter Wrote
 > 
 >  > Both will be quite slow when servered by ZServer.
 > 
 >  What could be the reason for being "slow". Since the files are large, 
 > the setup time can be ignored ( time to locate the object) Once the 
 > object is found  only thing that remains is the reading the file from DB 
 > ( should be a plain read) and push it to the connection. I do not see a 
 > reason for beeing slow on the db read once the data is located inside 
 > the DB. 
I have to admit that I did not make any measurements.

My remark was based on folkore that Zope is about an order of
magnitude slower for static pages than Apache.
It may be that the factor is lower for large files.

However, when I chased errors in "HTTPResponse.HTTPResponse.write"
(back in version 2.1.6), I recognized that such a write
does not go straight to the HTTP connection but goes through
an intermediate file. Thus, your large file is copied
once at the server side before it is streamed out to
the browser. And there is some Python code around that
controls this buffering.
Thus, I expect that ZServer is at least twice as slow as
direct serving the file.


Dieter