首页 新闻 会员 周边

.NET采集数据量过大,采集数据延迟,怎么优化?

0
悬赏园豆:10 [已解决问题] 解决于 2018-07-03 11:09

使用VS17搭建的MVC框架 多线程采集数据开了很多控制台应用程序每一个控制台应用程序里面都有很多线程采集数据写入SQL14,由于数据量太大,采集速度慢,数据多的会延迟半小时多,请问大神们这个有什么优化方法

TingZi_Unique的主页 TingZi_Unique | 初学一级 | 园豆:176
提问于:2018-01-15 11:08
< >
分享
最佳答案
1

数据量大自然会很慢,要看下你服务器的吞吐量如何,服务器配置是否满足大数据量的采集工作;你采集的数据库是否与业务数据库是同一个呢?如果是的话肯定会影响效率的;

收获园豆:10
_jimmy | 初学一级 |园豆:176 | 2018-01-15 11:25
其他回答(8)
0

方法好多

1、优化代码,找个好程序员。

2、升级网络

3、升级数据库服务器硬件,加内存、换好硬盘、换好CPU。

爱编程的大叔 | 园豆:30839 (高人七级) | 2018-01-15 11:22

优化代码需要优化哪些细节呢,我是新手代码写得很简单,就解析返回参数放到实体类,sql查询是否存在,sql添加或sql修改

支持(0) 反对(0) TingZi_Unique | 园豆:176 (初学一级) | 2018-01-15 12:01

@TingZi_Unique: 这么说吧,新手和老手的效率可以差别1000倍。

你有时间学个三五年,效率总是能慢慢提升的,你没有时间有商业模式或者有钱,就找个厉害点的,

就是看钱和时间哪个对你更加重要。

我写的代码,一台服务器2万元可以服务N个客户端,别人写的,需要10台服务器才能服务同样的客户端,

这个不是两句话可以说得清楚的。

需要知道你的业务,分析哪些是重要的,哪些是不重要的,哪些频次高,哪些频次低,

数据是常变的,还是一次性的,如何设计数据库结构,如何设计代码结构。

你学一点就提升一点呗...

支持(0) 反对(0) 爱编程的大叔 | 园豆:30839 (高人七级) | 2018-01-15 12:16
0

首先确保 从网络上获取数据 和 向数据库写入数据,这两个过程是分离的。

其次测试把一条已经获取的数据写入数据库花了多久。

 

总之,你先要搞清楚是在哪个步骤拖累了速度的。

西漠以西 | 园豆:1675 (小虾三级) | 2018-01-15 11:31
0

恩,加日志,看什么地方耗时多,进行优化。

Supper_litt | 园豆:827 (小虾三级) | 2018-01-15 11:32
0

非业务类数据不应该用sql数据库。无论你怎么优化,3s只能取2。或者你建集群,提升整体能力。

花飘水流兮 | 园豆:13562 (专家六级) | 2018-01-15 11:53
0

肯定需要组合拳,没有一招鲜

数据酷软件 | 园豆:130 (初学一级) | 2018-01-15 11:56
0

可能是“sql查询是否存在”这个地方性能问题严重,解决方法:

1、你可以在程序启动时把已存在的唯一标识load到内存或者文件,后面根据这个唯一标识判断是否存在,不要去数据库查询;

2、不检查是否存在直接写入中间表,后台作业定时将中间表的数据写入。

喵喵喵猫 | 园豆:1742 (小虾三级) | 2018-01-18 17:38
0

1.看看是否带宽问题;

2.需要明确是采集(下载)的速度慢还是录入数据库的慢;

3.是否一条条插入 insert,可以修改成批次插入 sqlbulkcopy;试下异步方法;还是数据库死锁等原因造成。

反骨仔 | 园豆:444 (菜鸟二级) | 2018-03-20 11:08
0

分数据库操作,操作时锁数据库

TingZi_Unique | 园豆:176 (初学一级) | 2018-07-03 11:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册