2012-01-23 7 views
0

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

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

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

Мои вопросы:

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

Спасибо и имеют хороший день,

+1

50 запросов на странице кажутся немного высокими. – ChrisF

+0

извините, был пропущен, средний на самом деле 25-30 (отредактирован) – Constantin

ответ

0

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