Quartz.Net导致services.exe导致services.exe上的CPU峰值
我们使用Quartz构建的后台应用程序导致Quartz.Net导致services.exe导致services.exe上的CPU峰值,.net,windows,quartz.net,.net,Windows,Quartz.net,我们使用Quartz构建的后台应用程序导致服务和控制器应用程序(Services.exe)使用高CPU。应用程序本身使用可接受的CPU范围(空闲时为0-1%,触发作业时为3-4%)和内存(最大200MB)。但是,每当触发作业时,services.exeCPU使用量就会增加,并导致服务器出现问题,从而阻止其他服务重新启动 应用程序中的一些见解: 大约75个工作,其中5-10个工作间隔2分钟,其余工作在午夜进行。(问题经常发生) quartz.threadPool.threadCount=10 q
服务和控制器应用程序(Services.exe)
使用高CPU。应用程序本身使用可接受的CPU范围(空闲时为0-1%,触发作业时为3-4%)和内存(最大200MB)。但是,每当触发作业时,services.exe
CPU使用量就会增加,并导致服务器出现问题,从而阻止其他服务重新启动
应用程序中的一些见解:
- 大约75个工作,其中5-10个工作间隔2分钟,其余工作在午夜进行。(问题经常发生)
quartz.threadPool.threadCount=10
quartz.scheduler.batchTriggerAcquisitionMaxCount=100
- 使用RAMJobStore
- 与IoC容器一起使用单例模式
感谢您的帮助。发现了我们的应用程序存在的问题,无论谁路过此问题,请在此处写信。至少它可以给我们一些想法去哪里找 调查结果:
- Quartz.Net与该问题没有任何关系
- 我们的记录器enricher试图查询每个日志的服务名称
- 此操作导致service.exe响应,从而导致CPU高
services.exe
之间建立关联就很容易了
个人学习:
- 我试图在我的应用程序和
之间建立关联,而这两者必须存在关联。但我的错误是把重点放在Quartz.Net和如何管理操作系统上的线程上services.exe
- 尽管问题不同,但对我来说,寻求相关性是关键。没有火,就没有烟