Craig A. Berry
2017-06-08 02:38:00 UTC
We have an eXist app (a now somewhat distant cousin of TEI Publisher) that has been running reasonably well for a couple of months on an AWS linux instance, but last week started hanging. Access from the outside world is via an Apache proxy.
One of the eXist processes, according to top, now goes into a state shortly after start-up in which it consumes 180%-200% of the cpu on this 2-cpu instance. Initially the application still works, albeit slowly, but within somewhere between a couple of minutes and a couple of hours it stops responding at all. If I start Monitoring and Profiling immediately upon start-up, it will run briefly before getting disconnected, and it shows that there are no running jobs, no running queries, no recent queries, no waiting threads, and no active threads.
The problem only happens when the Apache proxy is running. If I don't start Apache and only access the application on the 8443 port, everything seems fine. I changed the proxy timeout from 60 seconds to 20 minutes and it had no effect; the problem started in well under 20 minutes of start-up. Whether the problem has anything to do with Apache per se or rather with something arriving from the outside world via Apache I don't know. That said, the only thing I see in the Apache access log is some robots following our links, but it's only two or three requests per minute, so it doesn't seem like that would overwhelm anything.
We upgraded eXist from 3.1.0 to 3.2.0 and observed no differences.
Has anyone seen anything like this or have any suggestions on how to debug it?
________________________________________
Craig A. Berry
"... getting out of a sonnet is much more
difficult than getting in."
Brad Leithauser
One of the eXist processes, according to top, now goes into a state shortly after start-up in which it consumes 180%-200% of the cpu on this 2-cpu instance. Initially the application still works, albeit slowly, but within somewhere between a couple of minutes and a couple of hours it stops responding at all. If I start Monitoring and Profiling immediately upon start-up, it will run briefly before getting disconnected, and it shows that there are no running jobs, no running queries, no recent queries, no waiting threads, and no active threads.
The problem only happens when the Apache proxy is running. If I don't start Apache and only access the application on the 8443 port, everything seems fine. I changed the proxy timeout from 60 seconds to 20 minutes and it had no effect; the problem started in well under 20 minutes of start-up. Whether the problem has anything to do with Apache per se or rather with something arriving from the outside world via Apache I don't know. That said, the only thing I see in the Apache access log is some robots following our links, but it's only two or three requests per minute, so it doesn't seem like that would overwhelm anything.
We upgraded eXist from 3.1.0 to 3.2.0 and observed no differences.
Has anyone seen anything like this or have any suggestions on how to debug it?
________________________________________
Craig A. Berry
"... getting out of a sonnet is much more
difficult than getting in."
Brad Leithauser