Могут ли большие куки замедлить работу приложения? - PullRequest
0 голосов
/ 23 января 2012

Я пытался оптимизировать приложение ASP.NET C # в течение нескольких дней, и мне любопытны некоторые проблемы.

Используя плагин PageSpeed ​​Firefox, я смог отследить и устранить некоторые ненужные вызовы ajax и включить кэширование статических ресурсов, но все еще существуют значительные проблемы с производительностью.

При открытии любой данной страницы к серверу поступает примерно 25 запросов (ajax, автоматические постбэки, статический контент), и одна из проблем, на которые указала PageSpeed, заключалась в том, что размер запроса был слишком велик, в частности размер файла cookie 1.4KB. Как я понимаю из других источников, куки передаются на сервер с каждым запросом. Я также читал о решении «Домены без cookie для статического контента», но это не вариант, так как я не контролирую структуру приложения и среду размещения. Файлы cookie записываются и читаются с использованием потока памяти и объекта System.Runtime.Serialization.Formatters.Binary.BinaryFormatter для сериализации списка пользовательских объектов (2 поля и 2 свойства для этих полей, немного избыточны для BinaryFormatter).

Мои вопросы:

  1. Насколько такой большой запрос может повлиять на производительность?
  2. Достаточно ли этого, чтобы сервер зависал / зависал? (это часто случается)
  3. Есть ли способ значительно уменьшить размер вывода BinaryFormatter?
  4. Я знаю, что сериализация объектов в файлы cookie не является хорошей идеей, поэтому заменят ли сериализацию объектов в файлы cookie строками, которые будут проанализированы, решить мои проблемы с производительностью?
  5. Как я уже сказал, на страницах используются некоторые автоматические средства обратной отправки, и я могу отлаживать и проверять, что куки читаются (десериализуются), пишутся (сериализуются) примерно 5 раз до загрузки страницы. Влияет ли это на производительность так, чтобы сервер зависал / зависал?

Спасибо и хорошего дня,

1 Ответ

0 голосов
/ 23 января 2012

Вы можете просто попытаться использовать серверное «cookie-хранилище» (NoSQL?) И просто сохранить идентификатор в реальном куки и посмотреть, что произойдет, потому что большие куки плохие (подумайте о медленных интернет-соединениях с еще более медленнымискорость загрузки) ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...