使用 IIS 基本身份验证时性能缓慢

使用 IIS 基本身份验证时性能缓慢

我正在通过 HTTP 使用 MSMDPUMP.dll 的 SSAS。我已将 MSMDPUMP.dll Web 设置为仅使用基本身份验证,然后在 ConnectionString 中提供用户 ID 和密码。一切正常,但速度太慢,无法使用。我在 IIS 中启用了失败请求跟踪,我注意到我收到数千个 401.2 错误,其中包含以下信息:

ModuleName IIS Web Core
通知 2
HttpStatus 401
HttpReason 未授权
HttpSubStatus 2
ErrorCode 2147942405
ConfigExceptionInfo
通知 AUTHENTICATE_REQUEST
ErrorCode 访问被拒绝。(0x80070005)

我认为这是开销,也是它运行缓慢的原因?如果我将身份验证更改为匿名,一切都会运行得很快。不幸的是,这不是一个选项,所以我需要通过基本身份验证性能来解决这个问题。有什么想法吗?

编辑 似乎它首先尝试匿名身份验证,只有在失败后才使用基本身份验证。我甚至没有启用匿名身份验证,所以我不知道为什么会发生这种情况。

答案1

如果服务访问执行许多请求,并且每个请求都必须进行身份验证,那么如果没有设置身份验证 cookie,这将是预期的行为。如果每个请求都必须执行完整的身份验证,性能将明显下降。

如果您无法设置身份验证 cookie,并且可以使用 Windows 身份验证,则 IIS 会有一个设置仅对第一个请求进行身份验证。

在 IIS 7.0 中将集成 Windows 身份验证与 Kerberos 身份验证协议结合使用时,可能会遇到性能下降的问题
http://support.microsoft.com/kb/954873

https://stackoverflow.com/questions/10783440/slow-performance-when-accessing-msmdpump-dll-with-basic-authentication-repeated

相关内容