我與MySQL,Grails和Java的戰鬥。確定優先事項處理
- 我有應用服務器,在那裏運行Grails應用。
- 我有一個MySQL數據庫的另一臺服務器。
- 我有一個Java應用程序,連接到服務器,以數據爲CSV文件導出。
我在數據庫中有很多數據(10萬個寄存器),每15分鐘Grails應用程序就會連接到數據庫,以檢查並保存新的信息。正常的方式來運作。
我的問題是,雖然Grails的應用程序工作,我想執行一個Java應用程序,出口的DB中的信息的一部分。但是我的問題是這個過程很慢,但是有時候是這樣。我來解釋一下:
如果Grails的應用程序工作,我的Java應用程序需要大約4天導出所有data.The的Java proccess需要大約0.3-0%的CPU。
如果關閉了Tomcat,並且因此所有到DB的連接(在mySQL上顯示processlist命令)大約需要40分鐘 才能完成所有過程。 Java進程佔CPU的85%左右。
我不知道是什麼問題,但我什麼都試過了,我的問題是,我不能停止的Grails應用中的所有,我要導出的時間。正因爲如此,有一些方法可以爲流程之間提供優先級,以確保我的Java應用程序具有最高優先級?
在此先感謝您的回答,
所以,當Tomcat和Grails的運行,你基於Java的報告程序需要大約沒有CPU時間4天?當它自己運行時(沒有Tomcat,沒有Grails),它在85%CPU時間運行40分鐘? – 2012-04-18 16:38:32
是的,或多或少都是這樣的。看起來,除了我的Java應用程序之外,如果還有更多的數據庫連接,那麼一切都非常緩慢,並且看起來像是最低的prio。 – 2012-04-18 16:43:01
數據庫是InnoDB。 – 2012-04-18 16:45:57