Hi,

If you are using MySQL be sure to have the MySQL cache query turned on with an adequate size.

You may try to use another JVM (such as JRockit or the IBM ones) which are definitively faster than the sun one. However we experienced once some strange behaviours under heavy load with the JRockit once... Perhaps the problem was solved in their latest release... The best way is to try and to see if another JVM is faster in your custom environement as this may change quite a lot according to your platform...

Finally, if you have developed some complex templates or have complex navigation menus to display, I would clearly suggest to add some HTML cache fragment in (some of) your templates (cf: http://www.opensymphony.com/oscache/wiki/JSP%20Tags.html), especially in live mode. For example you may add some HTML fragment around your navigation menus or around some complex Jahia queries (e.g. retrieve all objects of type news on all virtual sites and sort them by date and take the first 10) in order to avoid to have to redo each time all the business logic. The problem is that the Jahia HTML cache is on a per page basis and, for integrity reason, is quite often flushed (or you need to use some /cache/offonce or /bypass action).

Regarding the menu if you put for example an automatic expiration delay after 60 seconds (up to you to decide if you want more or less), the only risk is after a validation: some pages will be perhaps deleted but still present in your cache fragment leading to some temporary 404 (until the cache is automatically flushed after the 60 seconds). But this will really boost performance of your site! If I remember correctly there is an integration example of such an JSP HTML cache in the latest version of the default Corporate template (there is a box which aggregate all the news from all the pages and then use an HTML cache in edit and live mode). Please check the code in the CVS.

Looking forward, we are now refactoring the current HTML cache per page to add a new HTML cache per fragment which will be automatically managed and flushed by the Jahia system according to the editors actions. Moreover we will implement the ESI standard (www.esi.org or refet to the JSR128: http://jcp.org/en/jsr/detail?id=128) so that you will be able to add several independant front end cache proxies. However, as there is no open source implementation of the standard, we first need to develop one ;-)

But temporarily you can perfectly add it directly in your set of template and manage your cache fragments on your own. This is quite similar...

Finally install a Jahia in cluster (for example with both servers in read/write mode or only one server in read mode and the other one in authoring mode).

My 2cts,
Stéphane

At 16:30 09/09/2005, ghislain\.cussonneau wrote:
Ok
 
I'm searching other elements to increase performance on Jahia.
 
Which database and J2EE server did you use ?
Have you find some other tips to increase performance ?
 

  <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
Ok I use the index on the site exept the part with old version of jahia.
This seems good.
 
Thanks for your help.
 
Nicolas
 
PS :
 
Here is my script
 
CREATE INDEX id_jahia_acl_index ON jahia_acl (id_jahia_acl);
CREATE INDEX parent_id_jahia_acl_index ON jahia_acl (parent_id_jahia_acl);
CREATE INDEX id_jahia_fields_data_index ON jahia_fields_data (id_jahia_fields_data);
CREATE INDEX ctnid_jahia_fields_data_index ON jahia_fields_data (ctnid_jahia_fields_data);
CREATE INDEX pageid_jahia_fields_data_index ON jahia_fields_data (pageid_jahia_fields_data);
CREATE INDEX id_jahia_ctn_entries_index ON jahia_ctn_entries (id_jahia_ctn_entries);
CREATE INDEX pageid_jahia_ctn_entries_index ON jahia_ctn_entries (pageid_jahia_ctn_entries);
CREATE INDEX id_jahia_pages_data_index ON jahia_pages_data (id_jahia_pages_data);
CREATE INDEX parentid_jahia_pages_data_index ON jahia_pages_data (parentid_jahia_pages_data);
CREATE INDEX id_jahia_ctn_lists_index ON jahia_ctn_lists (id_jahia_ctn_lists);
CREATE INDEX pageid_jahia_ctn_lists_index ON jahia_ctn_lists (pageid_jahia_ctn_lists);
 
CREATE INDEX jahia_acl_index2 ON jahia_acl ( parent_id_jahia_acl,id_jahia_acl );
CREATE INDEX jahia_ctn_def_properties_index ON jahia_ctn_def_properties ( ctndefid_jahia_ctn_def_prop );
CREATE INDEX jahia_ctn_entries_index ON jahia_ctn_entries ( rights_jahia_ctn_entries );
CREATE INDEX jahia_ctn_entries_index2 ON jahia_ctn_entries ( id_jahia_ctn_entries,workflow_state );
CREATE INDEX jahia_ctn_entries_index3 ON jahia_ctn_entries ( pageid_jahia_ctn_entries,workflow_state );
CREATE INDEX jahia_ctn_entries_index4 ON jahia_ctn_entries ( listid_jahia_ctn_entries,workflow_state,rank_jahia_ctn_entries,id_jahia_ctn_entries );
CREATE INDEX jahia_ctn_entries_index5 ON jahia_ctn_entries ( id_jahia_ctn_entries,rights_jahia_ctn_entries );
CREATE INDEX jahia_ctn_lists_index ON jahia_ctn_lists ( id_jahia_ctn_lists,workflow_state );
CREATE INDEX jahia_ctn_lists_index2 ON jahia_ctn_lists (  parententryid_jahia_ctn_lists,pageid_jahia_ctn_lists );
CREATE INDEX jahia_ctn_lists_index3 ON jahia_ctn_lists ( id_jahia_ctn_lists, parententryid_jahia_ctn_lists );
CREATE index jahia_ctn_lists_index4 ON jahia_ctn_lists ( pageid_jahia_ctn_lists, ctndefid_jahia_ctn_lists );
CREATE INDEX jahia_ctn_lists_index5 ON jahia_ctn_lists ( parententryid_jahia_ctn_lists,id_jahia_ctn_lists );
CREATE INDEX jahia_ctnlists_prop_index ON jahia_ctnlists_prop ( ctnlistid_ctnlists_prop );
CREATE INDEX jahia_ctn_struct_index ON jahia_ctn_struct ( rank_jahia_ctn_struct,ctnsubdefid_jahia_ctn_struct );
CREATE index jahia_ctn_struct_index2 ON jahia_ctn_struct( objdefid_jahia_ctn_struct );
CREATE INDEX jahia_ctn_struct_index3 ON jahia_ctn_struct ( objtype_jahia_ctn_struct,objdefid_jahia_ctn_struct,ctnsubdefid_jahia_ctn_struct );
CREATE INDEX jahia_ctn_struct_index4 ON jahia_ctn_struct ( ctnsubdefid_jahia_ctn_struct,rank_jahia_ctn_struct );
CREATE INDEX jahia_fields_data_index ON jahia_fields_data ( pageid_jahia_fields_data,workflow_state,ctnid_jahia_fields_data);
CREATE INDEX jahia_fields_data_index2 ON jahia_fields_data ( id_jahia_fields_data,workflow_state,ctnid_jahia_fields_data );
CREATE INDEX jahia_fields_data_index3 ON jahia_fields_data ( id_jahia_fields_data,workflow_state,pageid_jahia_fields_data );
CREATE INDEX jahia_fields_data_index4 ON jahia_fields_data ( id_jahia_fields_data,pageid_jahia_fields_data,ctnid_jahia_fields_data );
CREATE INDEX jahia_fields_data_index5 ON jahia_fields_data ( rights_jahia_fields_data );
CREATE INDEX jahia_fields_data_index6 ON jahia_fields_data ( ctnid_jahia_fields_data, rank_jahia_fields_data,id_jahia_fields_data);
CREATE INDEX jahia_fields_data_index7 ON jahia_fields_data ( value_jahia_fields_data,type_jahia_fields_data,workflow_state,version_id );
CREATE INDEX jahia_fields_data_index8 ON jahia_fields_data ( pageid_jahia_fields_data,ctnid_jahia_fields_data,rank_jahia_fields_data,id_jahia_fields_data );
CREATE INDEX jahia_fields_data_index9 ON jahia_fields_data ( pageid_jahia_fields_data,workflow_state,id_jahia_fields_data );
CREATE INDEX jahia_fields_data_index10 ON jahia_fields_data ( pageid_jahia_fields_data,fielddefid_jahia_fields_data );
CREATE INDEX jahia_fields_def_index ON jahia_fields_def ( id_jahia_fields_def );
CREATE index jahia_fields_def_index2 ON jahia_fields_def ( jahiaid_jahia_fields_def );
CREATE INDEX jahia_fields_def_prop_index ON jahia_fields_def_prop ( flddefid_jahia_fields_def_prop );
CREATE INDEX jahia_fields_def_prop_index2 ON jahia_fields_def_prop ( type_jahia_fields_def_prop,default_jahia_fields_def_prop );
CREATE INDEX jahia_fields_def_extprop_index ON jahia_fields_def_extprop ( id_jahia_fields_def );
CREATE INDEX jahia_link_index ON jahia_link ( right_oid );
CREATE INDEX jahia_pages_data_index ON jahia_pages_data ( id_jahia_pages_data,workflow_state, version_id);
CREATE INDEX jahia_pages_data_index2 ON jahia_pages_data ( workflow_state,parentid_jahia_pages_data,version_id,id_jahia_pages_data );
CREATE INDEX jahia_pages_data_index3 ON jahia_pages_data ( rights_jahia_pages_data );
CREATE INDEX jahia_pages_data_index4 ON jahia_pages_data ( parentid_jahia_pages_data ) ;
CREATE INDEX jahia_pages_data_index5 ON jahia_pages_data ( workflow_state,parentid_jahia_pages_data,id_jahia_pages_data,version_id );
CREATE INDEX jahia_pages_data_index6 ON jahia_pages_data ( parentid_jahia_pages_data,workflow_state,id_jahia_pages_data,version_id );
CREATE INDEX jahia_pages_data_index7 ON jahia_pages_data ( parentid_jahia_pages_data,id_jahia_pages_data,version_id );
CREATE INDEX jahia_pages_def_prop_index ON jahia_pages_def_prop ( id_jahia_pages_def_prop );
CREATE INDEX jahia_pages_def_prop_index2 ON jahia_pages_def_prop ( name_pages_def_prop,value_pages_def_prop );
CREATE INDEX jahia_user_prop_index ON jahia_user_prop ( id_jahia_users,provider_jahia_user_prop,userkey_jahia_user_prop );
CREATE INDEX jahia_users_index ON jahia_users ( name_jahia_users,siteid_jahia_users );
CREATE INDEX jahia_users_index2 ON jahia_users ( siteid_jahia_users );
CREATE INDEX jahia_users_index3 ON jahia_users ( key_jahia_users );
 
>

De : ghislain.cussonneau [ mailto:[EMAIL PROTECTED]]
Envoyé : vendredi 9 septembre 2005 10:03
À : dev_list
Objet : Re:Index
 
>
> Did you read the "Fines-tuning tips" on Jahia.Org site ( http://www.jahia.org/jahia/Jahia/devzone/doc) ?
>
There's a first list of index that you can complete after some analyze of your system. The best way is to log the SQL requests received by your database and analyze the log after some days to know which request are the more used and determine new indexes.
>
> Which database did you use ? In case of PostgreSQL, try the vaccumdb command (in PostgreSQL bin directory) to update the statistics and optimize the index. On other DB, find the way to update the statistics and optimize the index.
>
>
>

>
 
 
I have a performance problem on a jahia web site.
I have more than 2500 pages on this site and then this very slow.
 
I am trying to create index on the database.
 
Is anyone has a script to do that ?
I use jahia 4.1.
 
I have try to use the p6spy and sql profiling without success.
 
I do exactly what is write on the guide administration guide, but GUI didn’t receive a connection.
 
Is anyone can help me?
Is any one has a idea about this performance problem?
 
Thanks for your help.
 
Nicolas
 
>
>
> Ghislain CUSSONNEAU
> DIRR/DPIL/CIS
> CAP 44, Rue Marcel Sembat
> 44000 Nantes
> 02 51 84 48 80
> CRIL Technology
> Technoparc de l'Aubinière
> 44000 Nantes
> 02 51 89 64 50
>
>
>
> Accédez au courrier électronique de <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />La Poste : www.laposte.net ;
> 3615 LAPOSTENET (0,34 /mn) ; tél : 08 92 68 13 50 (0,34/mn)
 
 
Ghislain CUSSONNEAU
DIRR/DPIL/CIS
CAP 44, Rue Marcel Sembat
44000 Nantes

02 51 84 48 80
CRIL Technology
Technoparc de l'Aubinière
44000 Nantes

02 51 89 64 50


Accédez au courrier électronique de La Poste : www.laposte.net ;
3615 LAPOSTENET (0,34 /mn) ; tél : 08 92 68 13 50 (0,34/mn)

- -- --- -----=[ scroisier at jahia dot com ]=---- --- -- -
CEO - Jahia Ltd, 45 rue de la gare, 1260 Nyon (Switzerland)
Jahia : The Java Unified Web Platform
www.jahia.org - The community and product web site
www.jahia.com - Our commercial services company
www.collaborativesource.org - The Collaborative Source Initiative

Reply via email to