Я работаю с ASP. NET Многопользовательским приложением Core 2.2 Web API. Приложение использует Hangfire для запуска фоновых задач. Мы пытаемся улучшить производительность приложения.
Он хранит все задания в отдельной БД (Hangfire DB), но это влияет на производительность API. Я проследил запрос API для проверки времени запроса, вот результат:
Вот код
public async Task<string> AddUser(UserModel user)
{
CreateUserInBackgorund(user);
// removed code
return "some status";
}
[Queue(Constants.Critical)]
public void CreateUserInBackgorund(UserModel user)
{
BackgroundJob.Enqueue(() => CreateUser(user));
}
public async Task CreateUser(UserModel user)
{
try
{
//Other code
}
catch (Exception ex)
{
_logger.Error(ex.Message, ex);
}
}
Похоже, что в журналах трассировки фоновые вызовы влияют на производительность запроса. Есть ли способ сократить это время или использовать другой подход?