Если задержка 5-7 секунд, то скорее всего это связано с остановкой ApplicationPool-а. При отсутствии запросов в течении некоторого времени (по умолчанию 20 мин) IIS останавливает процесс, который обслуживает ап-пул сайта. Соответственно, если приходит запрос и пул остановлен, то IIS-у нужно запустить процесс, поднять все модули для сайта, сам сайт загрузить и запустить, и только после всего этого сайт будет готов обрабатывать запросы. Отсюда такая значительная задержка при первом запросе, все последующие запросы будут обрабатываться быстро.
Чтобы изменить это поведение нужно в IIS-Manager выбрать пул, затем Advanced Settings и там два параметра: "Idle Time-out" и "Idle Time-out Action". Последний отвечает за действие после истечения таймаута, по умолчанию там стоит Terminate, т.е. прерывать процесс, можно изменить на Suspend (приостановить но не убивать процесс). Также там есть параметр "Start Mode", и там стоит по умолчанию OnDemand (по запросу), можно изменить на AlwaysRunning (т.е. всегда запущен).
Но стоит учесть, что постоянно запущенный процесс ап-пула будет потреблять немало памяти и некоторое количество процессорного времени, и если приложение используется редко, то по сути в холостую расходовать ресурсы сервера.