can ez support 2000 user online?

Author Message

kevin wei

Wednesday 04 January 2006 8:05:39 pm

i will design a big community site with EZ, it's a easy paltform,but i womder if EZ can support 2000 online, and 1 million posts, and many template query ?

EZ will be very slow or crash during this situation???

i use AMD 3000+ 2.8G, 2G memo, when i view the site only, sometime CPU will be 80%,and there are no other application.

can you give me some advise?

Björn Dieding@xrow.de

Thursday 05 January 2006 1:38:39 am

to give oyu an idea a single server can serve 5 to 20 concurrent requests per second depending on hardware.

To answer your question we need to know about your peaks and concurrent requests per second.

Looking for a new job? http://www.xrow.com/xrow-GmbH/Jobs
Looking for hosting? http://hostingezpublish.com
-----------------------------------------------------------------------------
GMT +01:00 Hannover, Germany
Web: http://www.xrow.com/

Kåre Køhler Høvik

Thursday 05 January 2006 2:01:11 am

Are you expecting 2000 logged in or anonymous users ?

It's extremly important to optimize the pagelayout, and content cache when dealing with high traffic and eZ publish. You might also be able to use the static cache : http://ez.no/doc/ez_publish/technical_manual/3_6/reference/configuration_files/staticcache_ini

See also : http://ez.no/community/forum/general/ez_speed_optimisation_faq

Kåre Høvik

Bård Farstad

Thursday 05 January 2006 2:13:17 am

Here on ez.no we currently have 11 registered (logged in) and 1526 anonymous sessions right now. We have set the session timeout to 15 minutes (default in eZ publish is one hour).

It does depend on how you measure the 2000 online users and what they do. We're serving about 5-7 million pageviews from the ez.no site pr month currently. Which translates to about 200.000 pr day or approx 140 requests pr minute in average). We have about 100.000 objects in eZ publish here where 50.000 is posts in the forums.

Hope this answered your question.

Cheers,

--bård

Documentation: http://ez.no/doc

kevin wei

Thursday 05 January 2006 3:08:16 am

i am doing a very interesting project, it will have more than 2000 user online at the same time,.
and some anonymous (user will post, guest just view)

and there are many query in template, for example: a page dispaly 5 latest forum post, i will display the post owner name, and his latest 5 post in other folder, and 5 similiar article according keyword, top 5 post according the number of reply in this form etc.

although i do not know how to list top 5 post,here is my post:
http://ez.no/community/forum/developer/top_users_according_to_number_of_edits_posts#msg70041

Thomas Nunninger

Thursday 05 January 2006 4:44:16 am

Hi,

I would be very interested in the "bottlenecks" of eZ publish. What are the technical reasons? Where does problems in situations like this rise?

- high traffic
- many users loged in
- personalized content
- many content changing / creating

Is it the template processing? (If it is only the template processing I would be able to use many webservers connecting to one database.) Or is it the database? (Ok there are coherences: if you have much template processing database requests will rise.)

I guess the main problem is the database. But which parts? The content object modell? The sessions? Something else? And: are there any solutions in eZ publish 4?

I'm curious about your answers.

Have a nice day

Thomas

kevin wei

Thursday 05 January 2006 6:40:45 am

yes, my site has all these feature:

- high traffic
10000-20000 unique ip/day, 60000-100000 pv/day

- many users loged in
it's community, have thousands users

- personalized content
show many related info

- many content changing / creating
submit many posts

Thomas Nunninger

Thursday 05 January 2006 9:52:23 am

@Kevin

Thanks for your data. But I think this wasn't my question :-)

Thomas

Björn Dieding@xrow.de

Thursday 05 January 2006 4:06:58 pm

From my estimate I would say you have 4 request per second at peak time

100000 / 8 hours of traffic = about 4 request per second

I don't know if this a proper calculation towards your problem, but if this is the case it looks like a strong single server can do it even with personalized content. Though I ignored the fact that you have that much content in the database. The size is something I can't really throw estimates on.

Looking for a new job? http://www.xrow.com/xrow-GmbH/Jobs
Looking for hosting? http://hostingezpublish.com
-----------------------------------------------------------------------------
GMT +01:00 Hannover, Germany
Web: http://www.xrow.com/

Andrew Kelly

Monday 13 February 2006 5:11:18 am

OK, how about a more concrete problem scenario..

I wish to build a community site that will have between 500 thousand and 6 million users. At any given time, 25 thousand of these users may be logged in and using the community. Typical community use will be sending mail to system users, participating in forums, searching for registered users with filtering on geographic location and certain topic lists, updating personal information.

Can an eZ installation handle this type of scenario?
If not, at which levels does it break down?
Given the scenario described, what is the functional maximum number of registered users, and what is the functional maximum number of concurrently logged in and active users?

Andy

Kåre Køhler Høvik

Monday 13 February 2006 5:30:39 am

> Can an eZ installation handle this type of scenario?
Not without modifications.

> If not, at which levels does it break down?
The system will not be able to put 6 million users in the content tree, at the same location/level. This can however be fixed by creating a content-list for storing content objects/users.
The forum should work, but you'll need to create the forum templates with great care, to prevent heavy SQLs.
The search will require an agressive stop-word setting to perform well.

# of logged in users should not cause any problems.

The practical amount of data at 1 location in the content tree seems to be around 50-150k objects, depending on the database/hardware of course. By spreading the content to several nodes, you'll be able to store alot more data.

A cluster setup will be required in order to handle the overall system load.

Kåre Høvik

Andrew Kelly

Tuesday 14 February 2006 5:36:50 am

Thanks for your response, Kåre.

When you say ".. by creating a content-list for storing content objects/users", are you talking about having multiple nodes to store user objects? For example having a node for each letter of the latin alphabet and storing the user objects correspondingly?

And when you suggest a cluster, are you talking about an SQL server cluster?

Andy

Kåre Køhler Høvik

Wednesday 15 February 2006 12:18:54 am

Hi Andrew

The standard way to store content objects at the moment, is to store them in the content tree. This makes it easy to navigate, but has a scalability drawback ( as mentioned earlier ).

It is also possible to store the content objects using other structures ( list, matrix, grid, etc. ), but none of these ways has been implemented yet. By creating a list/matrix/etc. structure we'd remove parts of the scalability problems. We have not set aside resources to develop this in the near future, but it's possible to get it developed using our support service ( http://ez.no/services/support ).

Kåre Høvik

Tony Wood

Friday 17 February 2006 2:26:30 am

Hi Bard,

Can eZ provide some benchmark figures for a site with 1 Million users. It should be easy to create it will just take some time. We really need to get to grips with the sizing issue.

I need to ensure that the underlying database structure can handle 1 million+ objects.

From a front end point of view the user selection mechanism will break and you will need to go to a custom search lookup.

Any comments?

tony

Tony Wood : twitter.com/tonywood
Vision with Technology
Experts in eZ Publish consulting & development

Power to the Editor!

Free eZ Training : http://www.VisionWT.com/training
eZ Future Podcast : http://www.VisionWT.com/eZ-Future

Kåre Køhler Høvik

Friday 17 February 2006 4:00:51 am

Hi Tony

I'm setting up a test system now with 1000000 users in 1 location, and 500000 users in another location. I'll be gone the next week, but when I'm back in week 9, I'll probably have some performance numbers.

Kåre Høvik

Tony Wood

Friday 17 February 2006 4:36:04 am

Thanks Kare,

We have got some test scripts here so I am going to set a test machine running so I cam do some testing with 1m+ records. Lets compare notes in a week.
Trust me it is going to take that long to run this import script :)

tony

Tony Wood : twitter.com/tonywood
Vision with Technology
Experts in eZ Publish consulting & development

Power to the Editor!

Free eZ Training : http://www.VisionWT.com/training
eZ Future Podcast : http://www.VisionWT.com/eZ-Future

Gabriel Ambuehl

Friday 17 February 2006 4:46:25 am

Do you think it would be possible to put the import script on pubsvn?

Mass import GREATLY benefits by disabling search, BTW ;)

Visit http://triligon.org

Tony Wood

Friday 17 February 2006 4:55:28 am

I think to call it import is a little too big. It's just a small one that works on our environment. I cannot post sorry.

Tony Wood : twitter.com/tonywood
Vision with Technology
Experts in eZ Publish consulting & development

Power to the Editor!

Free eZ Training : http://www.VisionWT.com/training
eZ Future Podcast : http://www.VisionWT.com/eZ-Future

Paul Forsyth

Friday 17 February 2006 5:09:01 am

It is quite simple - just a eZ script with a for loop to create a new object some 1 million times!

yes, we have delayed indexing on. having xdebug off too also gives a big boost.

paul

Andrew Kelly

Monday 20 February 2006 5:22:26 am

Kåre, Tony, Paul,

I'm not quite clear on the testing being discussed, sorry. Are we talking here about 1m+ users being stored in the conventional, currently deployed default method, or using one of the storage methods mentioned by Kåre?

And by the way, how ready is the eZ system for being de-coupled from its own storage paradigm and hammered into a datawarehousing type of configuration? Is there an API available for communication between the standard content entry/display and say, an external DB of more performance oriented storage?

As an ugly example:
Could I use a deployment of eZ sitting on Google? (The goal being eZ handling all the pretty, pretty, accompanying text, multilinguality, delivery to browser, etc., and Google handling storage and retrieval of the actual requested data.)

Andy

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.