Forums / Developer / eZ performance with a large number of users

eZ performance with a large number of users

Author Message

Marko Žmak

Wednesday 24 June 2009 2:00:55 am

I have to setup an eZ site which has a large number of users (>40.000). Besides standard fields, each user has a phone number attribute that can be searched for in eZ. So I would like to know how will this large number of users affect:

- performance of user login?
- performance when doing fetch for users based on attribute filter for the phone number attribute?

Does someone have experience with similar number of users?
How much difference in performance is between the number of 40.000 users and for example 2000?
Also, how much would a custom fetch operator that is specialized for retrieving users based on phone number improve the preformance?

P.S. I'm using eZ 3.10.1 and mysql database.

--
Nothing is impossible. Not if you can imagine it!

Hubert Farnsworth

John Moritz

Wednesday 24 June 2009 6:09:20 am

as far as i know, ezPublish can handle more than 1.000.000 Objects without problems. A ezuser is just a object, so 40.000 will be no problem.

Your bottleneck will be the Serverbandwith, respectivley how many users you have online at the same time. For this, ezPublish has cluster functionalities!

Gaetano Giunta

Wednesday 24 June 2009 6:21:15 am

The main problem you will find having a number of users in the order of magnitude of 100.000 is the usability of the admin interface: if they are all part of the same group, navigating it becomes a pain, and you will have to resort to search for users or build a custom interface to easily find them. Storing them in folders by first letter of login might also be an idea.

Login is not a problem.

Heavy customization of the site based on user profile is a scalability brake anyway, even with few users: avoid having to fetch the user object on every page if you can.

Take care if putting the user id in cache block keys: you will generate a lot of those files.

Principal Consultant International Business
Member of the Community Project Board

eZ debug

Timing: Jan 30 2025 21:44:24
Script start
Timing: Jan 30 2025 21:44:24
Module start 'content'
Timing: Jan 30 2025 21:44:24
Module end 'content'
Timing: Jan 30 2025 21:44:24
Script end

Main resources:

Total runtime0.2218 sec
Peak memory usage8,192.0000 KB
Database Queries141

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0076 588.0625370.2734
Module start 'content' 0.00760.0148 958.33591,001.5781
Module end 'content' 0.02240.1993 1,959.91413,890.5391
Script end 0.2218  5,850.4531 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00482.1801200.0002
Check MTime0.00130.5892200.0001
Mysql Total
Database connection0.00070.305110.0007
Mysqli_queries0.131759.37681410.0009
Looping result0.00120.54841390.0000
Template Total0.198989.710.1989
Template load0.00090.409410.0009
Template processing0.198089.257910.1980
Override
Cache load0.00060.280410.0006
Sytem overhead
Fetch class attribute can translate value0.00180.806010.0018
XML
Image XML parsing0.00020.110410.0002
General
dbfile0.00713.2157200.0004
String conversion0.00000.004030.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 1
 Number of unique templates used: 1

Time used to render debug report: 0.0001 secs