84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
需求
通过WEB界面向数据库中 不定期的全量导入一份包含百万级数据量的Excle表
现在应用在本机测试过程中,开发机内存16G,导入无压力 服务器部署后,远程web导入,页面假死,查看服务端进程已down 服务器配置:centos6.5 1核1g JDK1.6 导入控件:poi 求小伙伴指导如何解决
人生最曼妙的风景,竟是内心的淡定与从容!
1、先確認是上傳還是匯入時導致頁面假死。我推測應該是上傳,因為你的excel檔案應該不小,透過網路上傳需要花費大量的時間,有可能導致web伺服器超時設置,本地測試,上傳肯定要比網路快N倍。
2、如果不是上傳問題,那就是應該是導入資料庫出現問題,如果你是一條條的插入,那效率肯定不高,可以採用batch insert 或 load data infile 的方式。
先debug一下,看看主要時間花在哪一步了,然後再針對做出最佳化。
進程掛了,jstack不起作用了。 你可以遠端debug。 還有你的測試環境和線上環境差異太大,沒有參考價值。 建議拿一台和先上環境一致的測試機,並且遠端上傳excel來測試。
如樓上所言,你需要先確定是哪一步導致伺服器宕機, 是上傳檔案太大伺服器記憶體溢位還是匯入的時候掛掉的. 如果伺服器沒有提供core dump供出錯分析的話, 自己在程式裡多印幾處log來確定崩潰的位置, 知道了掛掉的原因再針對性的處理比較好. 這種通常都是OOM導致的.
1、先確認是上傳還是匯入時導致頁面假死。我推測應該是上傳,因為你的excel檔案應該不小,透過網路上傳需要花費大量的時間,有可能導致web伺服器超時設置,本地測試,上傳肯定要比網路快N倍。
2、如果不是上傳問題,那就是應該是導入資料庫出現問題,如果你是一條條的插入,那效率肯定不高,可以採用batch insert 或 load data infile 的方式。
先debug一下,看看主要時間花在哪一步了,然後再針對做出最佳化。
進程掛了,jstack不起作用了。
你可以遠端debug。
還有你的測試環境和線上環境差異太大,沒有參考價值。
建議拿一台和先上環境一致的測試機,並且遠端上傳excel來測試。
如樓上所言,你需要先確定是哪一步導致伺服器宕機,
是上傳檔案太大伺服器記憶體溢位還是匯入的時候掛掉的.
如果伺服器沒有提供core dump供出錯分析的話,
自己在程式裡多印幾處log來確定崩潰的位置,
知道了掛掉的原因再針對性的處理比較好.
這種通常都是OOM導致的.