首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Owin + Unity容器性能差

Owin + Unity容器性能差
EN

Stack Overflow用户
提问于 2016-12-22 08:49:01
回答 1查看 404关注 0票数 1

我使用JMeter来加载我的WebApi。每个用户100用户+ 4000循环。

  1. 简单OWIN: avg 5-10 ms,最大响应200 ms II。
  2. Microsoft统一容器: avg 15 ms,最大响应9000 ms。

性能图表

我有自己的自托管WebApi +微软统一容器.

在VS性能资源管理器中,我研究了热门路径:

代码语言:javascript
复制
 public IDependencyScope BeginScope()
    {
      var childContainer = Container.CreateChildContainer(); //47% CPU

      return new UnityDependencyScope(childContainer);
    }

    public object GetService(Type serviceType)
    {
       if (typeof(IHttpController).IsAssignableFrom(serviceType))
       {
          return Container.Resolve(serviceType); //35% CPU
       }

       try
       {
          return Container.Resolve(serviceType);
       }
       catch
       {
          return null;
       }
   }

    public void Dispose()
    {
        Container.Dispose(); //16%CPU
    }

如何优化统一容器的使用或哪里有问题?

EN

回答 1

Stack Overflow用户

发布于 2017-03-16 18:41:10

如果您的控制器依赖过多的对象进行构造,则可能需要一些时间来构建所有对象图。

对于每个访问控制器的请求,您将实例化所有的依赖项,即使根本不需要它们。

您可以尝试将一个大控制器拆分为较小的多个控制器,并重构对象图(依赖树),使其在每个控制器中保持最小。

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

https://stackoverflow.com/questions/41279075

复制
相关文章

相似问题

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