Forgot to mention that it looks like tomcat returned around 50% of what the page should have been, before it hit the Internal Server Error.
Cheers, Ian On April 15, 2014 at 3:13:08 PM, Christopher Schultz (ch...@christopherschultz.net) wrote: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Ian, On 4/15/14, 2:52 PM, Ian Long wrote: > I need some help from all the tomcat experts out there! I am using > tomcat behind apache httpd using mod_jk (1.2.39). About 50-100 > times per day (out of many requests), I’m getting an internal > server error from Tomcat (error 500), without any exceptions in my > code, nor in Tomcat logs. I am only seeing the error in my New > Relic application monitoring tool, and I can see them in the mod_jk > logs if I turn on debug. As much fun as reading debug logs is, I wasn't able to find a problem in what you posted. Can you maybe highlight the section that indicates a problem? You also didn't post the exception from the Java side. > My server is not heavily loaded, with a load average hovering > around 0.5 on a 4 cpu system. How many httpd processes are serving this Tomcat? Do you have a mismatch between the number of connections coming from httpd and the number of connections available on the Tomcat side (Connector)? > You can see the internal error below at 13:59:13.790. Yes, we can see that there was an error, but not what the error was. > My worker setup is very simple: > > worker.list=worker1 worker.worker1.port=8009 > worker.worker1.host=127.0.0.1 worker.worker1.type=ajp13 > worker.worker1.connection_pool_timeout=600 > worker.worker1.connect_timeout=10000 > > My Connector is also straightforward: > > <Connector port="8009" connectionTimeout="600000" > minSpareThreads="5" address="127.0.0.1" URIEncoding="UTF-8" > enableLookups="false" disableUploadTimeout="true" > maxSpareThreads="75" maxThreads="800" protocol="AJP/1.3" /> That all looks okay to me on the face of it. Just a note: you may want to use an <Executor> for better control of the thread pool. What connector are you actually using Is 800 threads enough to handle whatever might be coming from httpd (or all of your httpd instances)? - -chris -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCAAGBQJTTYSWAAoJEBzwKT+lPKRYzAkP/1Eeusa0Jh6uFoUFg0+wq/cO IF8F0DkQXZ5d1WrYtF3nRhcNXclgfl6kYpNyz9dSN55Sk2hrWFZcSGZnMu4ZZvQE jMg+555tPm36QmmAw3NzUm6wwTpcByjsZuj10fsigiaNW3ucAc2vsQ40ETH5LH+/ E4crD6PFBSfNe5qcF51T6qcPVMMaXxjd5aBWRBfT2sUEogRg3o5Xm6zal+fwQrfR v4mbvwC4bz7ysCXGZQxSh7qQrorpXePIqCrUekAXxPRGxGXbUvj8+alVjY7p0Him w5WyyzbEqIymrARoip/+Xd1nRe7bWdt0sUBqBsKn7KKvUVvvIMbKmtAn398zcP9k l9746MuX0Z9JGuCNDeX/giaUeijckjyY2WjxWY/mU9v75v02jqpPlgzZZhELKv/3 ScE13HgxzPHAiDNXHJuQsJL8HxRbtl29aPV+406kQbolzfMudxXPU2hSIi8MDiYn hTJSZwp47bQngD9Ym8v+EdeExvRg2xLhlIuJc5j+34E9J5R9p/QC7Ru6YyzpESO5 olTzG/5Dt4V75q7mRkMtNiIWku9Ur5dtD+wjLAcQPmcoUuN0pX+rl2L4a7Wp+mqO rCuEZK5Y1S6/DBlu7UcBALe/T0OG8nzld4xLKZJR/oluuQSRXlRw6div4DaoqQMf 4PjjoG0+Hj2KS2aQm/JQ =oqiw -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org