[Zope] Hardware for Zope + ZEO

Toby Dickenson tdickenson@geminidataloggers.com
Fri, 31 Jan 2003 08:04:49 +0000


On Friday 31 January 2003 7:17 am, Wankyu Choi wrote:

> While we're at the subject... I'd be pulling, say, 10,000 objects from
> directory storage in one go if a NeoBoard forum gets heavily populated =
(
> 10,000 articles or 5,000 articles with each article having one attachme=
nt
> object ).

Either I misunderstand this statement, or your application design may be=20
flawed.  What is 'one go'? How many 'goes per second' do you expect to=20
sustain?

> How slow would it be compared to an SQL "select * from
> heavily_populated_board limit 50" (supposing a pageful of article list
> would spew out 50 articles )? ( I just assume it'd be slower than using
> MySQL. Correct me if I'm wrong. )

The DirectoryStorage overhead for this is tiny: nothing more than reading=
 100=20
files from some nested directories and some simple validation on each fil=
e=20
header. Not much different to FileStorage, which would have 50 seeks and =
50=20
reads in one file. Both storages would transfer the same number of data=20
bytes.

The key performance issue is how fast your filesystem can traverse those=20
directories. Or for FileStorage, the cost of keeping that=20
directory/dictionary in memory. If you have tried FileStorage and it lack=
ed=20
raw speed, then I doubt DirectoryStorage will be faster.

--=20
Toby Dickenson
http://www.geminidataloggers.com/people/tdickenson