首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Server高频插入

Server高频插入
EN

Stack Overflow用户
提问于 2014-03-07 08:38:20
回答 1查看 1.1K关注 0票数 1

我有一个通过SP插入数据的系统,称为WCF服务。

在系统中,我们目前有12000+主动登录用户,他们将每30秒调用一次WCF服务(实际上每秒钟至少有200个请求)。

在Server方面,CPU使用率达到100%,当我检查时,超过90%的时间用于DB写操作。这会影响整个服务器性能。

我需要解决这个问题的建议,以便我们有更少的DB写操作和更多的CPU保持自由。

如果需要,可以集成任何其他DB Server、使用实体框架或任何其他ORM组合。我需要有解决办法来处理这个问题。

其他可能有用的信息:表没有定义索引,数据库的增长因子设置为200 to。Server版本为2012年。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-07 08:44:02

SImple解决方案:回写。不要为每次插入都调用sql服务器。

创建一个收集它们并更粗地调用它们的服务。主要的问题是,事务处理在成本上有点过高--在这样的情况下,对它们进行批量处理可能是有意义的。

不要为每一行调用SP,将它们加载到临时表中,然后批量处理它们(或者使用表变量一次向sp提供多行信息)。

这消除了许多问题,包括大量提交(您基本上要求200 TPS,这是相当沉重的,这里不需要)。

你该怎么做取决于你自己--但对于如此沉重的事情,我会远离ORM (实体框架(Entity )在不批量处理任何东西时很有趣--这应该是大量sp调用),并且至少在这一部分中使用手工构建的sql。我喜欢ORM,但是在需要的时候有一个高性能手工制作的方法总是很好的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22245223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档