我有一个网站,用户可以在其中上传 PDF 并将其转换为 WORD doc。
它工作得很好,但有时(每小时 5-6 次)用户必须比平时等待更多的时间才能进行转换......
我使用 ASP.NET MVC,流程是: - 用户上传文件 -> 获取流并将其转换为 word ->将word 文件保存为临时文件 ->向用户返回url
我不确定是否必须将此流转换为异步?基本上,我的流程现在是连续的,但我每秒大约有 3-5 个请求,CPU 是双核和 4 GB 内存。
据我所知maxConcurrentRequestsPerCPU is 5000
;还有The default value of Threads Per Processor Limit is 25
;所以这些默认设置应该很好,对吧?
那为什么我的网络应用程序有时会“等待”?是否有任何 IIS 设置需要从默认修改为其他设置,或者我应该将我的同步方法设置为异步转换?
Ps:转换本身需要 1 秒到 40-50 秒,具体取决于 pdf 文件的大小。
更新:基本上对我来说不太清楚的是:如果用户上传文件并且转换时间很长,不应该只是当前请求因此而“受苦”吗?因为下一个请求是独立的,所以进行另一个 CPU 调用和不同的线程,所以这里不应该等待,不是吗?