[opencms-dev] OpenCms hangs up when it gets too many requests

Georgi Naplatanov gosho at oles.biz
Mon Jan 21 12:29:44 CET 2013


Hi Yuta.

If I understand you correct, you want to limit load on server. If it's 
so, do it on the other side - web server.

Best regards
Georgi

On 01/21/2013 12:38 PM, Yuta Aoki wrote:
> Hi Georgi,
>
> Thank you for the answer. Well I'm aware of that option but when you
> want to keep the max number of connections under certain limit, I
> don't think 'grow' is the choice. The setting itself is not the
> problem since it simply means that you want to block the exceeding
> connections until OpenCms is less busy.
>
> The problem is that OpenCms stops working even after the connection
> rush is over.
>
> Yuta
>
> 2013/1/21 Georgi Naplatanov<gosho at oles.biz>:
>> Hi, the problem appears because of these parameters:
>>
>>
>> db.pool.default.maxActive=25
>> db.pool.default.whenExhaustedAction=block
>>
>> You have to set db.pool.default.maxActive high enough according to maximum
>> number of simultaneous requests or/and set
>> db.pool.default.whenExhaustedAction to "grow" (the default value for OpenCms
>> 8.x)
>>
>> Best regards
>> Georgi
>>
>>
>> On 01/21/2013 11:50 AM, Yuta Aoki wrote:
>>>
>>> Hello,
>>>
>>> It seems like OpenCms (version 7.5.x) hangs up when it receives more
>>> requests than the maxActive value. You'll get the error "Timeout
>>> waiting for idle object "
>>>
>>> The tricky part is that sometimes, it will be working again after
>>> waiting a bit. But sometimes it will stop working.
>>>
>>> [How to reproduce]
>>>
>>> 1. Set those values in opencms.properties.
>>>
>>> -------
>>> db.pool.default.maxActive=25
>>> db.pool.default.maxWait=2000
>>> db.pool.default.minIdle=10
>>> db.pool.default.maxIdle=20
>>> db.pool.default.whenExhaustedAction=block
>>> db.pool.default.testOnBorrow=true
>>> db.pool.default.testWhileIdle=true
>>> db.pool.default.timeBetweenEvictionRuns=3600000
>>> db.pool.default.numTestsPerEvictionRun=3
>>> db.pool.default.minEvictableIdleTime=1800000
>>> db.pool.default.testQuery=SELECT STRUCTURE_ID FROM
>>> CMS_OFFLINE_STRUCTURE WHERE RESOURCE_PATH \= '/'
>>> db.pool.default.connects=10
>>> db.pool.default.wait=5000
>>>
>>> db.statements.default.pooling=true
>>> db.statements.default.maxActive=200
>>> db.statements.default.maxWait=2000
>>> db.statements.default.maxIdle=100
>>> db.statements.default.whenExhaustedAction=block
>>> --------
>>>
>>> 2. Send more than 25 simultaneous requests to the server.
>>>
>>>
>>> I believe you can set some value to
>>> "db.pool.default.whenExhaustedAction=block" so that OpenCms increases
>>> the max amount when it gets more request, but it wouldn't be the ideal
>>> solution when you actually want to limit the max connections.
>>>
>>> Is there any way to solve this? Is it fixed in version 8.5?
>>>
>>>
>>> Cheers,
>>> Yuta Aoki
>>> _______________________________________________
>>> This mail is sent to you from the opencms-dev mailing list
>>> To change your list options, or to unsubscribe from the list, please visit
>>> http://lists.opencms.org/cgi-bin/mailman/listinfo/opencms-dev
>>>
>>>
>>>
>> _______________________________________________
>> This mail is sent to you from the opencms-dev mailing list
>> To change your list options, or to unsubscribe from the list, please visit
>> http://lists.opencms.org/cgi-bin/mailman/listinfo/opencms-dev
>>
>>
>>
>>
>
>
>



More information about the opencms-dev mailing list