Я знаю, что многие из этих вопросов, но ни один из них не мог решить мою проблему.
Я получил REST API. В настоящее время я пытаюсь решить проблему, когда первый запрос к серверу занимает около 10 секунд, а следующий запрос - 3 секунды. После того, как становится тепло, через 20 минут снова становится холодно. Я не могу найти способ решить эту проблему.
Я читал о холодных запросах и т. Д. c, но ни один из них не помог мне. Чтобы решить эту проблему, я сделал это в файле startup.cs
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
...
WakeupDB(services);
}
private void WakeupDB(IServiceCollection services)
{
Task.Run(async() =>
{
var cs = services.BuildServiceProvider().GetService<ICalendarService>();
var mrs = services.BuildServiceProvider().GetService<IMetadataRepository>();
while (true)
{
_ = cs.GetCalendarAsync(new DateTime(2020, 4, 1), new DateTime(2020, 4, 30));
_ = mrs.GetEmployeesAsync();
_ = mrs.GetGroupsAsync();
await Task.Delay(300000); // 5 Minutes
}
});
}
Сначала я попытался без бесконечного l oop, но, как уже упоминалось, запрос снова замедляется после как 20 минут или около того. Поэтому я сделал бесконечное l oop, чтобы «согреться».
Но ни один из них на самом деле не оказал положительного влияния на производительность.