请教一个上传文件的效率问题
弱弱的问一个关于文件上传的问题:
项目中有一个功能是让用户上传文件,系统对文件的数据验证以后插入到数据库。刚开始数据量小还可以处理,但现在用户提出希望能够一次上传超过15000条数据,这样一来效率问题就比较突出了。想请问一下各位大大有没有这方面的经验,现在考虑使用缓存,但如果全部数据放到缓存里面对服务器的压力也很大。希望能得到一些建议或思路,谢谢了!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
考虑使用c来实现这个处理SQl文件的业务逻辑
然后在网站的代码中来调用这个c程序
一次处理15000条记录,时间长是必然的,只能想一些优化处理,比如异步处理(定时后台运算),或者把部分数据的分析放在客户端做的预处理后再一次上次,缓存也是一个不错的方法只是对服务器的压力大,
当然,分析算法优化也可是提高计算效率
我郁闷的就是网站没有上传的板块啊,郁闷
之前学过一种技术可以实现负载均衡,充当缓存服务器,具体的忘记了,目前也换行那么久了,不好意思
引用来自#3楼“zJun”的帖子
谢谢红薯老大这么快的回复!
是一个文件里有超过15000条记录。因为在上传的时候,还要对文件里的每一条记录进行验证(比如:关联的数据在数据库中是否存在,数据库中是否已经存在相同的数据....),所以处理的效率不是很好。原来是限制一次上传不能超过1000条记录,性能问题还不是太突出。但现在客户希望能一次处理更多的数据(减少用户的工作量),现在的性能就不能接受了。
其实也向客户提出过采用异步的方式,上传文件后通过后台程序处理上传文件,处理完成后通过邮件通知用户上传的结果。但由于原来的功能是实时的返回结果,所以用户还是希望像以前一样能够实时的操作并得到结果(而且时间不能太久),所以现在比较头疼。
谢谢红薯老大这么快的回复!
是一个文件里有超过15000条记录。因为在上传的时候,还要对文件里的每一条记录进行验证(比如:关联的数据在数据库中是否存在,数据库中是否已经存在相同的数据....),所以处理的效率不是很好。原来是限制一次上传不能超过1000条记录,性能问题还不是太突出。但现在客户希望能一次处理更多的数据(减少用户的工作量),现在的性能就不能接受了。
其实也向客户提出过采用异步的方式,上传文件后通过后台程序处理上传文件,处理完成后通过邮件通知用户上传的结果。但由于原来的功能是实时的返回结果,所以用户还是希望像以前一样能够实时的操作并得到结果(而且时间不能太久),所以现在比较头疼。
15000条数据是指文件里有15000条记录,还是有15000个文件啊?
可以考虑上传后写到磁盘后立即告诉用户上传成功等待处理,然后启动一个任务去后台处理这个问题。