【问题标题】:Improve Web Service Performance提高 Web 服务性能
【发布时间】:2013-04-18 01:52:02
【问题描述】:

我有一个 Web 服务,它需要很少的参数,基于我需要应用一些业务逻辑并返回字符串值(旧或新)的参数,该服务在生产环境中会经常出现(超过 10每秒请求)。实现业务逻辑的最佳方式是什么,我希望服务非常快速且响应迅速。

  1. 将数据(条件)存储在 SQL 表中,并在 C# 中应用业务逻辑并返回值。
  2. 将数据(条件)存储在 XML 文件中,每次读取文件,应用 C# 中的业务逻辑并返回值。
  3. 在 SQL 表中存储数据(条件)并编写存储过程以实现 SP 侧的业务逻辑并将值返回给服务。

注意:数据(条件)不会经常变化。

请提出解决此问题的最佳方法。

【问题讨论】:

    标签: performance web-services web-applications architecture


    【解决方案1】:

    最快的方法是将一些内存缓存层(例如 redis)推送到您的业务逻辑前面。该解决方案的有效性取决于可能有​​多少种不同的参数组合。如果不是很多 - 您可以将它们全部存储在内存中,并且如果条件已更改,则始终使缓存无效。

    您说过数据不会经常更改。我的问题是 - 如果数据(条件)变化必须实时呈现给用户,或者任何延迟都是可能的?如果是这样,您可以使用反向代理缓存(例如清漆) - 这应该非常快。

    【讨论】:

    • 是的,数据(条件)更改必须实时呈现。不接受任何延误。
    【解决方案2】:

    过早的优化是一件危险的事情。我的 2 美分,我建议尽可能快速轻松地先构建它。然后“让它变得更好”。添加图层等。最后一步是“让它更快”。在迈出第一步之前,您正在考虑最后一步。

    【讨论】:

      猜你喜欢
      • 2014-10-08
      • 2021-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多