Я работаю на прошлой неделе, пытаясь ускорить результаты поиска на сайте. Мы работаем над тем, чтобы переместить страницу на сайт в SQL. Это значительно ускорило подкачку, однако мне все еще нужно снова запросить всю таблицу, чтобы получить общее количество записей в этой таблице.
Я кеширую итоги и перезапускаю эту часть запроса только тогда, когда пользователь изменяет параметры поиска, чтобы ускорить пейджинг, и это прекрасно работает. Проблема, с которой мы сталкиваемся сейчас, заключается в том, что нагрузка на ЦП сервера SQL резко возрастает, и поэтому производительность подкачки резко колеблется (от 100 миллисекунд до 2 секунд).
Мне просто интересно, не лучше ли было бы кэшировать всю таблицу результатов на веб-сервере и использовать либо DataTable.Select
, либо оператор Linq для запроса таблицы / списка памяти? Я понимаю, что это добавит большую нагрузку на память веб-серверу, но мы пытаемся повысить скорость, и поэтому может быть целесообразно обновить веб-серверы, поскольку они также сбалансированы по нагрузке, в то время как блок SQL - нет.