First thing to check would be: if the overall application is slow or a specific feature is slow? If the overall application is slow, then check the other sections in this page.
If a specific feature is slow, then it could mean:
a. A DB index is missing
b. A code level improvement needs to be done
Contact Krishagni for support in such cases.
If Windows, consider moving to Linux. Windows is not an ideal operating system if you have many users & labs.
If not, consider moving DB to a different server.
Tomcat should be assigned 2GB memory to run optimally. Open the 'setenv.sh' file in the '<tomcat directory>/bin' directory, and check if -Xmx2048m is present in the below line.
export JAVA_OPTS="-Dfile.encoding=UTF-8 -Xms128m -Xmx2048m -XX:PermSize=64m -XX:MaxPermSize=512m" |
Please refer to "Increase memory for better query performance" in MySQL prerequisites page. If Oracle, consult your DBA.
show full processlist; |
ps -ef | grep tomcat
)jmap -dump:format=b,file=/path/to/dumpfile.hprof <pid> |
3. Take jstack:
jstack -l <pid> > thread_dump.txt |
4. Check any external tread connected to MySQL. (The count of the below output and show full processlist should be same, if not external thread is connected.)
netstat -ant | grep 3306 |
5. Check Open tables
show open tables where in_use > 0; |
6. Check innodb status
show engine innodb status |
7. Check isolation
show variables like '%isolation%'; |