I have a dedicated MySQL database server serving two AwareIM application servers; one production and one test. The test server database is a subset of the production data. The hardware of the test server is newer with more memory, but my issue is much more apparent on the test server.
The issue is that some processes take a long time with a select query getting stuck in sending data state in the mysql server for several minutes. The AwareIM log viewer shows all the rules have completed, but the UI just shows a process box that says Sending data... The rules will complete in seconds, but the UI can take several minutes to return from the Sending data box. Meanwhile, show processlist on the mysql server shows a select query in sending data state.
When I run the slow query on the database server manually, it returns results immediately. I've verified memory and CPU are not an issue, and I've verified the network is not a bottleneck between any of the servers.
My production app server is a 32bit Windows 2003 server, and my test server is a 64bit Windows 2008 server. I'm the only user on the test server. Both are running the same version of AwareIM, and the same BSV code. Shouldn't I get the same or better speed from the test server?
Anyone have any suggestions on how I can further investigate this issue? I was hoping to get this test server running faster than the production server, and to swap the server roles.
Thanks.