[Zope] Re: WHY ? -- Performace in serving large media filesfrom ZODB vs from external file system
Sedat Yilmazer
sedat@kibele.com
Sat, 7 Jul 2001 13:22:49 +0300
Hi Zopers
=20
In most of the systems ( specially where we have a server and =
performanace requirements) we have high end systems with fast disk =
access. In such system the problem most of the time is the CPU =
power/RAM/Internet Connection Speeds. If you have a system with a =
2-8Mbps your basic bottleneck is at the CPU and RAM side, NOT at the =
Disc IO side.
Lets assume that the total response time is=20
setting up the client/server connection + (How is it in ZServer forks? =
)=20
request processing + =20
finding the object in ZODB +=20
Reading the object from ZODB +=20
writing the data to temp file +=20
pushing the file to client
In this picture writting the file once more to the file system should =
not be a big part of the picture. In most systems IO is initiated by the =
CPU and completed by the hardware (DMA). If your channel to HD can not =
cope with that you must have the fastest Internet connection on the =
plannet.
So as the last point. I would never ever giveup a consistent =
implementation if the performance inrease is less then %100.
HW is so cheap that spending some days to get thing working may cost =
you alot more.=20
Sedat
=20
-----Original Message-----
From: zope-admin@zope.org [mailto:zope-admin@zope.org]On Behalf Of
Dieter Maurer
Sent: Saturday, July 07, 2001 11:32 AM
To: marc lindahl
Cc: zope@zope.org
Subject: Re: [Zope] Re: WHY ? -- Performace in serving large media
filesfrom ZODB vs from external file system
marc lindahl writes:
> > From: Dieter Maurer <dieter@handshake.de>
> > I have to admit that I did not make any measurements.
>=20
> This is what we need, some real world numbers.
Go ahead!
> ...
> I wonder why this temp file is used.... but just because a file is =
used
> doesn't make it twice as slow. Either the whole system needs to be =
analyzed
> or measured.
Sure, but it may well do, if you have a really fast network or
access it locally.
The most efficient solution: read file in chunks and stream it onto
the TCP connection.
ZServer's solution: read the file in chunks, write to a temporary
file. Read the temporary file in chunks and stream it
onto the TCP connection.
Additional overhead: Reading and writing the file once.
Dieter
_______________________________________________
Zope maillist - Zope@zope.org
http://lists.zope.org/mailman/listinfo/zope
** No cross posts or HTML encoding! **
(Related lists -=20
http://lists.zope.org/mailman/listinfo/zope-announce
http://lists.zope.org/mailman/listinfo/zope-dev )