Gustaf,

Thank you for your help and for the background information.

Thorpe


> On Sep 18, 2019, at 1:43 AM, Gustaf Neumann <neum...@wu.ac.at> wrote:
> 
> Dear Thorpe,
> 
> There is a problem with the nsdbi* drivers when the cache used for prepared 
> statements runs out. The driver deallocates in such situations a prepared 
> statement before being able to add the new one. On a busy server, it might 
> run in the same, when preparing the next SQL statement, and so on. In such 
> situations, performance will drop drastically. The worst are SQL statements 
> with filled-in constants (tcl-substituted values) or "IN" clauses. 
> Try to avoid these.
> 
> Some background: A few years ago, i generalized the OpenACS SQL interface to 
> work either with the nsdbi* driver family or with the good old nsdb* family. 
> On our busy OpenACS servers the dbi-driver was sooner or later dropping due 
> to the mentioned reasons in such (re)allocation loops. Due to lack in 
> resources on my side, i never tried to solve the problem in nsdbi* to avoid 
> such problems. We switched on on all major installations back to nsdb*.
> 
> Since the configured cache listed below is just 1MB (which is nothing on 
> today's machines), i would recommend to increase it substantially (e.g. to 
> 10MB), unless you have good reasons for not doing so. ... and replace ".. 
> WHERE name = '$name' ... " by ".. WHERE name = :name ... " if not done 
> already.
> 
> -gn
> 
> On 17.09.19 20:57, THORPE MAYES via naviserver-devel wrote:
>> Hi,
>> 
>> This happened today:
>> 
>> I was getting thousands of these lines in my server log:
>> 
>> [17/Sep/2019:07:59:07][4924.7f82467f4700][-conn:mealdeliverysoftware:19:25314-]
>>  Notice: dbipg: prepare dbipg_6242353/0 cols 0: deallocate dbipg_6238059
>> [17/Sep/2019:07:59:07][4924.7f82467f4700][-conn:mealdeliverysoftware:19:25314-]
>>  Notice: dbipg: prepare dbipg_6242354/0 cols 0: deallocate dbipg_6238060
>> [17/Sep/2019:07:59:07][4924.7f82467f4700][-conn:mealdeliverysoftware:19:25314-]
>>  Notice: dbipg: prepare dbipg_6242355/0 cols 0: deallocate dbipg_6238061     
>>   
>> 
>> I restarted the server and the problem went away (maybe).
>> 
>> My guess is that configuration is either wrong or not complete. Here is the 
>> section in my config file that deals with this:
>> 
>> # database configuration                                                     
>>                                                                              
>>                         
>> ns_section "ns/server/${servername}/module/xxxxx"
>>      ns_param   default        true ;# This is the default pool for mds      
>>                                                                              
>>                                     
>>      ns_param   handles        2    ;# Max open handles to db.               
>>                                                                              
>>                                     
>>      ns_param   maxwait        10   ;# Seconds to wait if handle 
>> unavailable.                                                                 
>>                                                 
>>      ns_param   maxidle        0    ;# Handle closed after maxidle seconds 
>> if unused.                                                                   
>>                                       
>>      ns_param   maxopen        0    ;# Handle closed after maxopen seconds, 
>> regardles of use.                                                            
>>                                      
>>      ns_param   maxqueries     0    ;# Handle closed after maxqueries sql 
>> queries.                                                                     
>>                                        
>>      ns_param   checkinterval  600  ;# Check for idle handles every 10 
>> minutes.                                                                     
>>                                           
>> 
>>      ns_param   maxhandles     0
>>      ns_param   timeout        10
>>      ns_param   maxrows        1000
>> 
>>      ns_param   cachesize     [expr 1024*1024]
>> 
>> # The following parameters are configured at server-startup.                 
>>                                                                              
>>                                       
>>     ns_param   user          “xxxxxx"
>>     ns_param   password      xxxxxxx
>>     ns_param   database      “xxxxxx"
>>     ns_param   datasource     "user=‘xxxxx' password=‘xxxxx' dbname=‘xxxxxx’"
>> 
>> 
>> This is also in the config file for my legacy code:
>> # database pool configuration                                                
>>                                                                              
>>                                         
>> ns_section "ns/db/pool/${default_pool}"
>>     ns_param    driver              postgres
>>     ns_param    connections         40
>>     ns_param    datasource          localhost:5432:${database_name}
>>     ns_param    user                xxxxxx
>>     ns_param    password            xxxxxx
>>     ns_param    verbose             true
>>     ns_param    logsqlerrors        true
>>     ns_param    extendedtableinfo   true
>>     ns_param    maxidle             1000000000
>>     ns_param    maxopen             1000000000
>> 
>> 
>> # Database pools accessible by server                                        
>>                                                                              
>>                                         
>> ns_section "ns/server/${servername}/db"
>>     ns_param    pools               "*"
>>     ns_param    defaultpool         "${default_pool}"
>> 
>> 
>> 
>> I will appreciate any help/direction.
>> 
>> Thank you,
>> 
>> Thorpe
>> 
>> Thorpe Mayes
>> 2313 Lockhill-Selma Road, Suite 164
>> San Antonio, Texas 78230-3007
>> Phone: (512) 394-8766
> 
> _______________________________________________
> naviserver-devel mailing list
> naviserver-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/naviserver-devel

_______________________________________________
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel

Reply via email to