需求
通过WEB界面向数据库中 不定期的全量导入一份包含百万级数据量的Excle表
现在应用在本机测试过程中,开发机内存16G,导入无压力 服务器部署后,远程web导入,页面假死,查看服务端进程已down 服务器配置:centos6.5 1核1g JDK1.6 导入控件:poi 求小伙伴指导如何解决
poi java web
如楼上所言,你需要先确定是哪一步导致服务器宕机, 是上传文件太大服务器内存溢出还是导入的时候挂掉的. 如果服务器没有提供core dump供出错分析的话, 自己在程序里多打印几处log来确定崩溃的位置, 知道了挂掉的原因再针对性的处理比较好. 这种通常都是OOM导致的.
进程挂了,jstack不起作用了。 你可以远程debug。 还有你的测试环境和线上环境差异太大,不具备参考价值。 建议拿一台和先上环境一致的测试机,并且远程上传excel来测试。
先debug一下,看看主要时间花在哪一步了,然后再针对做出优化。
1、首先确认是上传还是导入时导致页面假死。我推测应该是上传,因为你的excel文件应该不小,通过网络上传需要花费大量的时间,有可能导致web服务器超时设置,本地测试,上传肯定要比网络快N倍。
2、如果不是上传问题,那就是应该是导入数据库出现问题,如果你是一条条的插入,那效率肯定不高,可以采用batch insert 或者 load data infile 的方式。
idea/phpstorm/webstorm/pycharm 能不能分栏显示?
fancybox2 用在html显示正常,但是用在jsp中出现400或者404的错误
怎么用POI Excel 读取合并单元格的值?
java应用程序中嵌入浏览器
在java开发时常遇到定时的业务,大家说说自己的项目中都是怎么做的呀,不用很详细
求推荐一款开源的数据库管理工具