使用 Nancy 时如何改进首字节时间?

How can I improve Time To First Byte when using Nancy?

我正在尝试使用 Nancy 重新开发驱动 http://mammothworkwear.com/ 的软件,但我在尝试将 TTFB 降至 300 毫秒以下时遇到了问题。

我的原型托管在 IIS 中,以发布模式构建,我删除了 web.config 调试标志。如果您在 Mammoth Workwear 上的任何页面上进行测试,您会发现我的 TTFB 低于 50 毫秒,使用的是我多年来构建和优化的混合 .Net 框架。我将如何与 Nancy 一起实现同样的目标?

这是我使用的测试代码。

Get["/ttfb-test"] = _ => {
    return "<h1>Any faster?</h1>";
};

我明白了。我的 Boot Strapper 中的 FormsAuthenticationConfiguration 连接到 RequestStartup 管道,这意味着它对每个请求执行以下操作:

var cryptographyConfiguration = new CryptographyConfiguration(
    new RijndaelEncryptionProvider(new PassphraseKeyGenerator("SuperSecretPass", new byte[] { 1, 2, 3, 4, 5, 6, 7, 8 })),
    new DefaultHmacProvider(new PassphraseKeyGenerator("UberSuperSecure", new byte[] { 1, 2, 3, 4, 5, 6, 7, 8 })));

var formsAuthConfiguration = new FormsAuthenticationConfiguration
{
    CryptographyConfiguration = cryptographyConfiguration,
    RedirectUrl = "~/account/login",
    UserMapper = container.Resolve<IUserMapper>(),
    RedirectQuerystringKey = "url"
};

我将其移至 ApplicationStartup 方法,因此它仅在应用首次启动时发生,并将 TTFB 降至 2.2 毫秒。比我预期的要好得多!

爱南希!