【问题标题】:Add Quartz to a Web API project. Performance question将 Quartz 添加到 Web API 项目。性能问题
【发布时间】:2020-09-07 06:47:11
【问题描述】:
我需要使用 Quartz 来完成一项耗时的任务来更新我的项目中的数据,我担心将工作人员添加到 Web API 会限制在后台运行任务时 Web API 的性能。我在 Amazon 中托管我的 Web API,因此我可以加强它,或者我将此项目部署到另一台服务器以处理另一台服务中的后台作业。
在同一台服务器上托管 Workers 和 WebApi 可能会更便宜。但我知道单独部署它们会使修复更容易部署。
【问题讨论】:
标签:
asp.net-core
asp.net-web-api
quartz
【解决方案1】:
恐怕在后台运行任务时,将工作人员添加到 Web API 会限制 Web API 的性能。我在 Amazon 中托管我的 Web API,因此我可以加强它,或者我将此项目部署到另一台服务器以处理另一台服务中的后台作业。
如果您的后台任务将执行 CPU 密集型或 I/O 密集型等作业,则将 Workers 和 WebApi 应用程序托管在同一台服务器上,这可能会导致资源争用并导致性能下降。
另一方面,将您的应用程序(或工作程序)隔离到亚马逊的单独服务器(或服务)中,这将需要额外费用。您可以先监控 CUP、内存等使用情况的指标,然后确定当前托管方式是否正常。