首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >实体框架核心压力测试缓慢

实体框架核心压力测试缓慢
EN

Stack Overflow用户
提问于 2018-09-23 13:20:16
回答 1查看 628关注 0票数 0
  • 我用EF构建了一个.net核心2.1应用程序。
  • 我使用了具有读取未提交隔离级别的事务。
  • 我构建了异步API并创建了一个简单的ef查询异步(获取第一个用户的5个字段,而不是引用其他表)。查询用户
  • 创建单个请求时,查询所需时间较短。
  • 当我用10个线程进行压力测试时,爬升: 5,永远循环(使用is ),查询时间是相同的。
  • 但是,当我使用j测量仪(100个线程,爬升:20,循环永远)对api进行测试时,有些查询需要较短的时间,有些查询需要很长的时间(可能5s、10s、25s .),另一个查询抛出连接超时异常。
  • 我该怎么办?

问题解决了:我花了几天时间进行调查,我尝试了这个解决方案,它运行得很好。所以,我会在这个帖子上分享它,如果你有其他的解决方案来提高性能,请告诉我。

  • 创建数据库连接是一个花费时间很长的过程。您可以指定应该创建并在应用程序的生存期内保持打开的最小连接池。然后,对每个数据库调用重用它们。
  • 应该使用事务隔离级别“读取未提交”
  • 应该对一个请求使用相同的数据库连接进行多个操作
  • 所有API、方法都应该是异步方法,确保不将异步与同步混合。 谢谢大家!
EN

回答 1

Stack Overflow用户

发布于 2018-09-23 14:06:48

首先使用JMeter,在非GUI模式下运行您的测试,以确保您没有错误的结果,并遵循最佳实践,请参见:

一旦您确认了问题是真实的,请检查多个方面:

  • 没有N+1选择问题(查询循环)
  • 检索数据的粒度,您是否检索了太多的数据?
  • 查看DB发出的SQL查询的性能?
  • 池大小

请看一些有趣的博客:

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

https://stackoverflow.com/questions/52466482

复制
相关文章

相似问题

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