首页 > 解决方案 > 如何提高我的 webAPI 性能以及如何管理图像处理 API 中的 CPU 使用率?

问题描述

我创建了 MVC .Net API,通过 Imagemagick 动态生成图像。如果我一次收到 500 个访问图像的请求,那么我的 API 开始工作非常缓慢,我的 CPU 使用率突然上升到 100%。

您能否建议我如何管理 CPU 负载并提高我的 API 性能?

我的配置

  1. 8核CPU
  2. 2TB硬盘
  3. 128 GB 内存

请帮我。

标签: .netimage-processingmodel-view-controllerimagemagickiis-8

解决方案


500 个同时运行的 imagemagick 进程几乎会杀死任何服务器。我会做一些实验来确定单个任务的典型内存使用情况,计算有多少可以舒适地放入你的 128gb 内存中,然后限制你的线程池以保持在这个范围内。

您还可以考虑其他图像处理包。这取决于任务,但net-vips可以比 imagemagick 快 8 倍,并且需要的内存少 10 倍


推荐阅读