Tomcat 8/Jira 7 configuration

Ritchie Gu April 7, 2016

Hi guys,

Our JIRA 7 crashes every 2 weeks(or I should say Tomcat), we usually have about 250-300 concurrent users during week days. I increased maxThreads from default 150 to 300 few weeks ago, and it crashed after 2 weeks, I could see from Windows resource monitor, right before it crashed, there were 608 threads running on tomcat8.exe process, 30 mins before it crashed, I also received users report that they couldn't upload attachment into JIRA. So now I increased the number from 300 to 600 on our APR connector, and for AJP connetor, i keep it maxThreads at 200.

I can see from Windows resource monitor for the past few days, threads are increasing regularly everyday from 150 threads to 260 now. I think eventually it will hit 600 threads ceiling if threads can't be terminated properly.

One more thing, there are messages similar to below been logged few times a day,

INFO [file-attachment-store:thread-963] org.apache.coyote.AbstractProcessor.setErrorState An error occurred in processing while on a non-container thread. The connection will be closed immediately
java.io.IOException: APR error: -70014
at org.apache.coyote.http11.InternalAprOutputBuffer.writeToSocket(InternalAprOutputBuffer.java:292)
at org.apache.coyote.http11.InternalAprOutputBuffer.writeToSocket(InternalAprOutputBuffer.java:245)
at org.apache.coyote.http11.InternalAprOutputBuffer.flushBuffer(InternalAprOutputBuffer.java:214)
at org.apache.coyote.http11.AbstractOutputBuffer.endRequest(AbstractOutputBuffer.java:378)
at org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11Processor.java:725)
at org.apache.coyote.Response.action(Response.java:179)
at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:306)
at org.apache.catalina.connector.CoyoteOutputStream.close(CoyoteOutputStream.java:151)
at org.apache.commons.io.IOUtils.closeQuietly(IOUtils.java:281)
at org.apache.commons.io.IOUtils.closeQuietly(IOUtils.java:252)
at com.atlassian.jira.web.servlet.AbstractViewFileServlet$1.withInputStream(AbstractViewFileServlet.java:89)
at com.atlassian.jira.web.servlet.AbstractViewFileServlet$1.withInputStream(AbstractViewFileServlet.java:79)
at com.atlassian.jira.issue.managers.DefaultAttachmentManager$7.get(DefaultAttachmentManager.java:729)
at com.atlassian.jira.issue.managers.DefaultAttachmentManager$7.get(DefaultAttachmentManager.java:725)
at com.atlassian.jira.issue.attachment.store.DefaultFileSystemAttachmentStore$2.get(DefaultFileSystemAttachmentStore.java:128)
at com.atlassian.jira.issue.attachment.store.DefaultFileSystemAttachmentStore$2.get(DefaultFileSystemAttachmentStore.java:125)
at com.atlassian.jira.issue.attachment.store.DefaultFileSystemAttachmentStore$3.call(DefaultFileSystemAttachmentStore.java:151)
at com.atlassian.util.concurrent.Executors$DefaultSubmitter$CallableRunner.run(Executors.java:62)
at com.atlassian.util.concurrent.LimitedExecutor$Runner.run(LimitedExecutor.java:93)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

 

Please take a look at my tomcat configuration, I'd appreciate for any recommendation. Thanks,

<Connector port="443" maxHttpHeaderSize="8192"
maxThreads="600" minSpareThreads="25"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
sslProtocol="TLS" useBodyEncodingForURI="true"
SSLEnabled="true"

<Connector port="8009" redirectPort="443" URIEncoding="UTF-8"  enableLookups="false" protocol="AJP/1.3" maxThreads="200" connectionTimeout="600000" />

2 answers

0 votes
Brandon Viertel April 26, 2018

Did you find the answer? I'm experiencing the same issue with Confluence...

0 votes
Prashant Mali April 10, 2016

https://confluence.atlassian.com/jirakb/jira-applications-performance-tuning-229179856.html

Try to implement like this. it will help you.

Better to keep backup twice in a day which is helpful for you.

Thank you

Suggest an answer

Log in or Sign up to answer