【问题标题】:Can large cookies cause application to slow?大 cookie 会导致应用程序变慢吗?
【发布时间】:2012-01-23 23:16:51
【问题描述】:

这几天我一直在尝试优化一个 ASP.NET C# 应用程序,我对一些问题感到好奇。

使用 PageSpeed Firefox 插件,我能够追踪并消除一些不必要的 ajax 调用并启用静态资源缓存,但仍然存在相当大的性能问题。

当打开任何给定页面时,大约有 25 个对服务器的请求(ajax、自动回发、静态内容),PageSpeed 指出的问题之一是请求大小太高,更具体地说,cookie 大小是1.4KB。据我从其他来源了解,每个请求都会将 cookie 传递给服务器。我还阅读了一个解决方案,“静态内容的无 Cookie 域”,但这不是一个选项,因为我无法控制应用程序结构和托管环境。 cookie 是使用内存流和 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter 对象写入和读取的,以序列化自定义对象列表(这些字段的 2 个字段和 2 个属性,对于 BinaryFormatter 有点多余)。

我的问题是:

  1. 这么大的请求对性能的影响有多大?
  2. 它们是否足以导致服务器挂起/崩溃? (经常发生)
  3. 有没有办法显着减小 BinaryFormatter 的输出大小?
  4. 我知道将对象序列化为 cookie 不是一个好主意,那么将对象序列化为 cookie 替换为将被解析的字符串会解决我的性能问题吗?
  5. 正如我所说的,这些页面使用了一些自动回发,我可以在页面加载之前调试和加载 cookie 读取(反序列化)、写入(序列化)大约 5 次。这是否会对性能产生不利影响,导致服务器挂起/崩溃?

谢谢,祝你有美好的一天,

【问题讨论】:

  • 每页 50 个查询似乎有点高。
  • 抱歉,打印错了平均实际是 25-30(已编辑)

标签: c# asp.net cookies


【解决方案1】:

您可以尝试使用服务器端的“cookie-store”(NoSQL?),然后在实际的 cookie 中保存一个标识符,然后看看会发生什么,因为大 cookie 不好(想想慢的互联网连接甚至更慢上传速度)...

【讨论】:

    猜你喜欢
    • 2020-03-02
    • 1970-01-01
    • 1970-01-01
    • 2017-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-26
    • 1970-01-01
    相关资源
    最近更新 更多