Bart van der Schans wrote:
Marco Casavecchia Morganti wrote:
Felix Knecht wrote:
I'm afraid most people use either MySQL, Oracle or MS SQL Server. I
know of no case in which Hippo CMS with Postgresql is used in
production. So I cannot help you.
Anyone else have experience with Postgresql?
No, but maybe you can get something out of the log files of
postgresql. When there are actions from the Hippo CMS you should see
them, ev. you want/need to set log level of postgresql to debug..
I just enabled the dump of the statements on postgresql.
It seems that the high CPU usage is caused by the quartz scheduler.
In my logfile i have a continuos flow of these statements:
--------------------------------------
LOG: statement: PREPARE <unnamed> AS SELECT 1 FROM QRTZ_LOCKS
LOG: statement: <BIND>
LOG: statement: EXECUTE <unnamed> [PREPARE: SELECT 1 FROM QRTZ_LOCKS]
LOG: statement: <BIND>
LOG: statement: EXECUTE <unnamed> [PREPARE: BEGIN]
LOG: statement: PREPARE <unnamed> AS SELECT * FROM QRTZ_SCHEDULER_STATE
LOG: statement: <BIND>
LOG: statement: EXECUTE <unnamed> [PREPARE: SELECT * FROM
QRTZ_SCHEDULER_STATE]
LOG: statement: PREPARE <unnamed> AS UPDATE QRTZ_SCHEDULER_STATE SET
LAST_CHECKIN_TIME = $1, RECOVERER = $2 WHERE INSTANCE_NAME = $3
LOG: statement: <BIND>
LOG: statement: EXECUTE <unnamed> [PREPARE: UPDATE
QRTZ_SCHEDULER_STATE SET LAST_CHECKIN_TIME = $1, RECOVERER = $2 WHERE
INSTANCE_NAME = $3]
LOG: statement: <BIND>
LOG: statement: EXECUTE <unnamed> [PREPARE: COMMIT]
-----------------------------------------------------------
I don't need this frenetic checking.. it could be every minute without
any problem.
Can anyone tell me where i can change the interval between one quartz
check and the next one?
Quartz is configured in the schedulerStore.xml. The default one can be
found at [1] although it could be that you are using a different one for
postgreSQL. The first setting to try would by the clusterCheckinInterval
which is set to 2 seconds (2000 ms).
To do a quick check you can:
- stop the cms
- remove the WEB-INF/smwork folder
- edit the WEB-INF/configurations/..../SchedulerStore.xml
- start the cms
- check if your load goes down ;)
Eureka! it Works!! :O)
I changed the value from 2000 to 10000 and the load of my cpu now is
about 6.5%.
I think that i will set it to 20000 or 30000 (every 20 or 30 seconds)
because for our purpose this is more than sufficient.
PS: It's strange that no one has talk about the same behavior with other
database systems.. Could it be that only postgres has this problem? :O(
Anyway thanks a lot for your precious help.
By MCM.
********************************************
Hippocms-dev: Hippo CMS development public mailinglist