POI导入单个包含百万级数据量的Excle如何设计

发布于 2022-09-01 12:41:44 字数 254 浏览 20 评论 0

需求

 通过WEB界面向数据库中
 不定期的全量导入一份包含百万级数据量的Excle表

现在应用在本机测试过程中,开发机内存16G,导入无压力
服务器部署后,远程web导入,页面假死,查看服务端进程已down
服务器配置:centos6.5 1核1g
JDK1.6
导入控件:poi
求小伙伴指导如何解决

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

风柔一江水 2022-09-08 12:41:44

1、首先确认是上传还是导入时导致页面假死。我推测应该是上传,因为你的excel文件应该不小,通过网络上传需要花费大量的时间,有可能导致web服务器超时设置,本地测试,上传肯定要比网络快N倍。

2、如果不是上传问题,那就是应该是导入数据库出现问题,如果你是一条条的插入,那效率肯定不高,可以采用batch insert 或者 load data infile 的方式。

怕倦 2022-09-08 12:41:44

先debug一下,看看主要时间花在哪一步了,然后再针对做出优化。

绿萝 2022-09-08 12:41:44

进程挂了,jstack不起作用了。
你可以远程debug。
还有你的测试环境和线上环境差异太大,不具备参考价值。
建议拿一台和先上环境一致的测试机,并且远程上传excel来测试。

月牙弯弯 2022-09-08 12:41:44

如楼上所言,你需要先确定是哪一步导致服务器宕机,
是上传文件太大服务器内存溢出还是导入的时候挂掉的.
如果服务器没有提供core dump供出错分析的话,
自己在程序里多打印几处log来确定崩溃的位置,
知道了挂掉的原因再针对性的处理比较好.
这种通常都是OOM导致的.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文