Cannot get a connection, pool error Timeout waiting for idle

1,716 views
Skip to first unread message

Emrah Emirtekin

unread,
Jun 3, 2016, 9:16:54 AM6/3/16
to Sakai Development
Hello All,

I got error below during sakai 10.5 performance test.
Do you have a suggestion?

Thanks in advance.


org.sakaiproject.portal.api.PortalHandlerException: org.sakaiproject.tool.api.ToolException: javax.servlet.ServletException: org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: could not execute query; uncategorized SQLException for SQL [select assignment0_.ID as ID488_, assignment0_.VERSION as VERSION488_, assignment0_.GRADABLE_OBJECT_ID as GRADABLE4_488_, assignment0_.STUDENT_ID as STUDENT5_488_, assignment0_.GRADER_ID as GRADER6_488_, assignment0_.DATE_RECORDED as DATE7_488_, assignment0_.POINTS_EARNED as POINTS8_488_, assignment0_.IS_EXCLUDED_FROM_GRADE as IS9_488_, assignment0_.USER_ENTERED_GRADE as USER10_488_ from GB_GRADE_RECORD_T assignment0_ cross join GB_GRADABLE_OBJECT_T gradableob1_ where assignment0_.OBJECT_TYPE_ID=1 and assignment0_.GRADABLE_OBJECT_ID=gradableob1_.ID and assignment0_.STUDENT_ID=? and gradableob1_.REMOVED=0 and gradableob1_.GRADEBOOK_ID=?]; SQL state [null]; error code [0]; Cannot get a connection, pool error Timeout waiting for idle object; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object
    at org
.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:901)
caused
by: org.sakaiproject.tool.api.ToolException: javax.servlet.ServletException: org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: could not execute query; uncategorized SQLException for SQL [select assignment0_.ID as ID488_, assignment0_.VERSION as VERSION488_, assignment0_.GRADABLE_OBJECT_ID as GRADABLE4_488_, assignment0_.STUDENT_ID as STUDENT5_488_, assignment0_.GRADER_ID as GRADER6_488_, assignment0_.DATE_RECORDED as DATE7_488_, assignment0_.POINTS_EARNED as POINTS8_488_, assignment0_.IS_EXCLUDED_FROM_GRADE as IS9_488_, assignment0_.USER_ENTERED_GRADE as USER10_488_ from GB_GRADE_RECORD_T assignment0_ cross join GB_GRADABLE_OBJECT_T gradableob1_ where assignment0_.OBJECT_TYPE_ID=1 and assignment0_.GRADABLE_OBJECT_ID=gradableob1_.ID and assignment0_.STUDENT_ID=? and gradableob1_.REMOVED=0 and gradableob1_.GRADEBOOK_ID=?]; SQL state [null]; error code [0]; Cannot get a connection, pool error Timeout waiting for idle object; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object
    at org
.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1536)
caused
by: javax.servlet.ServletException: org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: could not execute query; uncategorized SQLException for SQL [select assignment0_.ID as ID488_, assignment0_.VERSION as VERSION488_, assignment0_.GRADABLE_OBJECT_ID as GRADABLE4_488_, assignment0_.STUDENT_ID as STUDENT5_488_, assignment0_.GRADER_ID as GRADER6_488_, assignment0_.DATE_RECORDED as DATE7_488_, assignment0_.POINTS_EARNED as POINTS8_488_, assignment0_.IS_EXCLUDED_FROM_GRADE as IS9_488_, assignment0_.USER_ENTERED_GRADE as USER10_488_ from GB_GRADE_RECORD_T assignment0_ cross join GB_GRADABLE_OBJECT_T gradableob1_ where assignment0_.OBJECT_TYPE_ID=1 and assignment0_.GRADABLE_OBJECT_ID=gradableob1_.ID and assignment0_.STUDENT_ID=? and gradableob1_.REMOVED=0 and gradableob1_.GRADEBOOK_ID=?]; SQL state [null]; error code [0]; Cannot get a connection, pool error Timeout waiting for idle object; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object
    at org
.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
caused
by: javax.faces.FacesException: org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: could not execute query; uncategorized SQLException for SQL [select assignment0_.ID as ID488_, assignment0_.VERSION as VERSION488_, assignment0_.GRADABLE_OBJECT_ID as GRADABLE4_488_, assignment0_.STUDENT_ID as STUDENT5_488_, assignment0_.GRADER_ID as GRADER6_488_, assignment0_.DATE_RECORDED as DATE7_488_, assignment0_.POINTS_EARNED as POINTS8_488_, assignment0_.IS_EXCLUDED_FROM_GRADE as IS9_488_, assignment0_.USER_ENTERED_GRADE as USER10_488_ from GB_GRADE_RECORD_T assignment0_ cross join GB_GRADABLE_OBJECT_T gradableob1_ where assignment0_.OBJECT_TYPE_ID=1 and assignment0_.GRADABLE_OBJECT_ID=gradableob1_.ID and assignment0_.STUDENT_ID=? and gradableob1_.REMOVED=0 and gradableob1_.GRADEBOOK_ID=?]; SQL state [null]; error code [0]; Cannot get a connection, pool error Timeout waiting for idle object; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object
    at org
.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211)
caused
by: org.apache.jasper.JasperException: org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: could not execute query; uncategorized SQLException for SQL [select assignment0_.ID as ID488_, assignment0_.VERSION as VERSION488_, assignment0_.GRADABLE_OBJECT_ID as GRADABLE4_488_, assignment0_.STUDENT_ID as STUDENT5_488_, assignment0_.GRADER_ID as GRADER6_488_, assignment0_.DATE_RECORDED as DATE7_488_, assignment0_.POINTS_EARNED as POINTS8_488_, assignment0_.IS_EXCLUDED_FROM_GRADE as IS9_488_, assignment0_.USER_ENTERED_GRADE as USER10_488_ from GB_GRADE_RECORD_T assignment0_ cross join GB_GRADABLE_OBJECT_T gradableob1_ where assignment0_.OBJECT_TYPE_ID=1 and assignment0_.GRADABLE_OBJECT_ID=gradableob1_.ID and assignment0_.STUDENT_ID=? and gradableob1_.REMOVED=0 and gradableob1_.GRADEBOOK_ID=?]; SQL state [null]; error code [0]; Cannot get a connection, pool error Timeout waiting for idle object; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object
    at org
.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
caused
by: org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: could not execute query; uncategorized SQLException for SQL [select assignment0_.ID as ID488_, assignment0_.VERSION as VERSION488_, assignment0_.GRADABLE_OBJECT_ID as GRADABLE4_488_, assignment0_.STUDENT_ID as STUDENT5_488_, assignment0_.GRADER_ID as GRADER6_488_, assignment0_.DATE_RECORDED as DATE7_488_, assignment0_.POINTS_EARNED as POINTS8_488_, assignment0_.IS_EXCLUDED_FROM_GRADE as IS9_488_, assignment0_.USER_ENTERED_GRADE as USER10_488_ from GB_GRADE_RECORD_T assignment0_ cross join GB_GRADABLE_OBJECT_T gradableob1_ where assignment0_.OBJECT_TYPE_ID=1 and assignment0_.GRADABLE_OBJECT_ID=gradableob1_.ID and assignment0_.STUDENT_ID=? and gradableob1_.REMOVED=0 and gradableob1_.GRADEBOOK_ID=?]; SQL state [null]; error code [0]; Cannot get a connection, pool error Timeout waiting for idle object; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object
    at org
.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
caused
by: org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object
    at org
.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
caused
by: java.util.NoSuchElementException: Timeout waiting for idle object
    at org
.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1167)
    at org
.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106)
    at org
.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
    at org
.springframework.jdbc.datasource.LazyConnectionDataSourceProxy$LazyConnectionInvocationHandler.getTargetConnection(LazyConnectionDataSourceProxy.java:400)
    at org
.springframework.jdbc.datasource.LazyConnectionDataSourceProxy$LazyConnectionInvocationHandler.invoke(LazyConnectionDataSourceProxy.java:375)
    at com
.sun.proxy.$Proxy3.prepareStatement(null:-1)
    at org
.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:534)
    at org
.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:452)
    at org
.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161)
    at org
.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1700)
    at org
.hibernate.loader.Loader.doQuery(Loader.java:801)
    at org
.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
    at org
.hibernate.loader.Loader.doList(Loader.java:2542)
    at org
.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2276)
    at org
.hibernate.loader.Loader.list(Loader.java:2271)
    at org
.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:459)
    at org
.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:365)
    at org
.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
    at org
.hibernate.impl.SessionImpl.list(SessionImpl.java:1268)
    at org
.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
    at org
.sakaiproject.tool.gradebook.business.impl.GradebookManagerHibernateImpl$12.doInHibernate(GradebookManagerHibernateImpl.java:1037)
    at org
.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
    at org
.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:339)
    at org
.sakaiproject.tool.gradebook.business.impl.GradebookManagerHibernateImpl.getStudentGradeRecords(GradebookManagerHibernateImpl.java:1044)
    at org
.sakaiproject.tool.gradebook.business.impl.GradebookManagerHibernateImpl.getStudentGradeRecordsConverted(GradebookManagerHibernateImpl.java:1048)
    at sun
.reflect.GeneratedMethodAccessor2763.invoke(null:-1)
    at sun
.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java
.lang.reflect.Method.invoke(Method.java:606)
    at org
.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
    at org
.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at org
.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org
.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
    at org
.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
    at org
.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
    at org
.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org
.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at com
.sun.proxy.$Proxy106.getStudentGradeRecordsConverted(null:-1)
    at org
.sakaiproject.tool.gradebook.ui.ViewByStudentBean.initializeStudentGradeData(ViewByStudentBean.java:584)
    at org
.sakaiproject.tool.gradebook.ui.ViewByStudentBean.init(ViewByStudentBean.java:260)
    at org
.sakaiproject.tool.gradebook.ui.StudentViewBean.init(StudentViewBean.java:54)
    at org
.sakaiproject.tool.gradebook.ui.InitializableBean.startRenderResponse(InitializableBean.java:69)
    at org
.sakaiproject.jsf.component.FlowState.encodeBegin(FlowState.java:131)
    at javax
.faces.webapp.UIComponentTag.encodeBegin(UIComponentTag.java:467)
    at javax
.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:320)
    at org
.apache.jsp.studentView_jsp._jspx_meth_sakai_005fflowState_005f0(studentView_jsp.java:349)
    at org
.apache.jsp.studentView_jsp._jspx_meth_h_005fform_005f0(studentView_jsp.java:301)
    at org
.apache.jsp.studentView_jsp._jspx_meth_f_005fview_005f0(studentView_jsp.java:266)
    at org
.apache.jsp.studentView_jsp._jspService(studentView_jsp.java:223)
    at org
.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax
.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at org
.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    at org
.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
    at org
.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
    at javax
.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at org
.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org
.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org
.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org
.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org
.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org
.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:286)
    at org
.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org
.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org
.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)
    at org
.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486)
    at org
.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411)
    at org
.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338)
    at org
.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:419)
    at org
.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211)
    at org
.sakaiproject.jsf.app.SakaiViewHandler.renderView(SakaiViewHandler.java:162)
    at org
.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
    at org
.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)
    at javax
.faces.webapp.FacesServlet.service(FacesServlet.java:140)
    at org
.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org
.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org
.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:394)
    at org
.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org
.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org
.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org
.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org
.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org
.sakaiproject.tool.gradebook.ui.RoleFilter.doFilter(RoleFilter.java:145)
    at org
.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org
.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org
.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:349)
    at org
.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org
.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org
.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)
    at org
.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486)
    at org
.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411)
    at org
.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338)
    at org
.sakaiproject.jsf.util.HelperAwareJsfTool.dispatch(HelperAwareJsfTool.java:170)
    at org
.sakaiproject.jsf.util.JsfTool.doGet(JsfTool.java:242)
    at javax
.servlet.http.HttpServlet.service(HttpServlet.java:620)
    at javax
.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at org
.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org
.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org
.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)
    at org
.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486)
    at org
.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:378)
    at org
.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338)
    at org
.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:513)
    at org
.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1536)
    at org
.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:215)
    at org
.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:98)
    at org
.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:901)
    at javax
.servlet.http.HttpServlet.service(HttpServlet.java:620)
    at javax
.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at org
.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org
.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org
.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:455)
    at org
.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org
.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org
.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org
.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org
.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org
.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at org
.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org
.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
    at org
.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org
.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org
.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org
.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
    at org
.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
    at org
.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
    at org
.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
    at java
.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java
.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at org
.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java
.lang.Thread.run(Thread.java:745)

Earle Nietzel

unread,
Jun 3, 2016, 10:34:51 AM6/3/16
to Emrah Emirtekin, Sakai Development
Hi Emrah,

So you left out some information about the “setup” your using to do the performance testing which makes this question more difficult to answer…

It would be nice if you included information about your setup:
- connection pool settings
- database connection settings
- list of the processes from the db
- how many application nodes
- the type of hardware used by every node in the setup
- jvm configuration

But in general when you start to add significant load your going to see the database usage increase! The database is typically the bottleneck so your best hardware should be used there.

All we can deduce from the stack traces below is that a connection could not be retrieved by the connection pool manager (dbcp) and its not a-systemic since its occurring in many tools.


--
You received this message because you are subscribed to the Google Groups "Sakai Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sakai-dev+...@apereo.org.
To post to this group, send email to saka...@apereo.org.
Visit this group at https://groups.google.com/a/apereo.org/group/sakai-dev/.

Emrah Emirtekin

unread,
May 17, 2017, 3:18:16 AM5/17/17
to Sakai Development, eemir...@gmail.com
Hi Earle,

Thanks for all reply.
When 1400 concurrent user on exam we got the top error again,
Our production servers configurations;

We have 4 Application Nodes which have configuration below

32 GB RAM
16 Core (2199.226 CPU MHz )

server.xml

<Connector port="8080" maxHttpHeaderSize="8192"
               
compression="on" compressableMimeTypes="text/html,text/xml,text/javascript,text/css,text/plain"
               
maxThreads="1000" minSpareThreads="25" enableLookups="false" redirectPort="8443" acceptCount="250"
               
connectionTimeout="60000" disableUploadTimeout="true" maxPostSize="0" URIEncoding="UTF-8"/>

setenv.sh

export JAVA_OPTS='-server -d64 -Xms20000m -Xmx20000m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:NewSize=768m -XX:MaxNewSize=768m -Djava.awt.headless=true -XX:+UseParallelGC -Dhttp.agent=Sakai -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false -Dsun.lang.ClassLoader.allowArraySyntax=true -verbose:gc -Xloggc:/opt/tomcat/logs/sakai_gc.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Duser.language=tr -Duser.region=TR -Duser.timezone=Etc/GMT-3'

sakai.properties

auto.ddl=false
username@javax
.sql.BaseDataSource=xxx
password@javax
.sql.BaseDataSource=xxx
vendor@org
.sakaiproject.db.api.SqlService=mysql
driverClassName@javax
.sql.BaseDataSource=com.mysql.jdbc.Driver
hibernate
.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
url@javax
.sql.BaseDataSource=jdbc:mysql://xxx:3306/sakai?useUnicode=true&characterEncoding=UTF-8
&useServerPrepStmts=false&cachePrepStmts=true&prepStmtCacheSize=4096&prepStmtCacheSqlLimit=4096
validationQuery@javax
.sql.BaseDataSource=select 1 from DUAL
defaultTransactionIsolationString@javax
.sql.BaseDataSource=TRANSACTION_READ_COMMITTED

Cache

memory.cache.statistics.force.disabled=true
memory
.org.sakaiproject.user.api.UserDirectoryService.callCache=timeToLiveSeconds=43200,timeToIdleSeconds=0,maxElementsInMemory=50000
memory
.org.sakaiproject.authz.api.SecurityService.cache=timeToLiveSeconds=86400,timeToIdleSeconds=0,maxElementsInMemory=30000
memory
.org.sakaiproject.site.impl.SiteCacheImpl.cache=timeToLiveSeconds=7200,timeToIdleSeconds=0,maxElementsInMemory=30000
edu
.amc.sakai.user.JLDAPDirectoryProvider.userCache=timeToLiveSeconds=14400,timeToIdleSeconds=3600,maxElementsInMemory=20000
timeToLive@memory
.org.sakaiproject.user.impl.AuthenticationCache=120000

Db connection pool is default from kernel/kernel-component/src/main/webapp/WEB-INF/db-components.xml

Only one DB(mysql) node;

mysql --version
mysql  
Ver 14.14 Distrib 5.5.33, for Linux (x86_64) using readline 6.2



32 GB RAM
8 Core (2199.226 CPU MHz )

/etc/my.cnf

[client]
port            
= 3306
socket          
= /var/run/mysql/mysql.sock

[mysqld]
server
-id       = 1
port            
= 3306
socket          
= /var/run/mysql/mysql.sock
datadir
= /var/lib/mysql
skip
-external-locking

query_cache_size
= 128M
open_files_limit
= 65535
max_connections
= 1300
innodb_buffer_pool_size
= 20G
innodb_buffer_pool_instances
= 6

# SAKAI CHANGGES
lower_case_table_names
=1
bind
-address =xxx
default-time-zone='+03:00'

# Buffer and Cahce
key_buffer_size
= 16M
max_allowed_packet
= 1M
table_open_cache
= 10240
sort_buffer_size
= 512K
net_buffer_length
= 8K
read_buffer_size
= 256K
read_rnd_buffer_size
= 512K
myisam_sort_buffer_size
= 8M

# The safe_mysqld script
[safe_mysqld]
log
-error       = /var/log/mysql/mysqld.log
socket          
= /var/run/mysql/mysql.sock

[mysqldump]
socket          
= /var/run/mysql/mysql.sock
quick
max_allowed_packet
= 160M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size
= 20M
sort_buffer_size
= 20M
read_buffer
= 2M
write_buffer
= 2M

[mysqlhotcopy]
interactive
-timeout

[mysqld_multi]
mysqld    
= /usr/bin/mysqld_safe
mysqladmin
= /usr/bin/mysqladmin
log        
= /var/log/mysqld_multi.log

Reply all
Reply to author
Forward
0 new messages