gpt4 book ai didi

asp.net - 经典ASP 'Requests Executing'永远不会大于1

转载 作者:行者123 更新时间:2023-12-03 13:05:19 25 4
gpt4 key购买 nike

我们有一个复杂的应用程序,它使用简短的ASP Servlet来提供AJAX JSON流(使用ADO来获取数据)。任何给定的 session 都可以同时触发10-20个请求。我们在建立负载时比预期的更早遇到了严重的性能问题。 (服务器是双XEON,RAID 5、4GB等)。偷偷摸摸地注意到,“执行请求”数字始终固定为1。再也没有更高的价格了。研究表明20至50的人数并不少见。排队的请求将徘徊在10到20之间,等待时间也会增加。

我们将ASPProcessorThreadMax从默认的25设置为40无效,没有任何效果。它似乎一次只能处理一个请求,这毫无疑问是行不通的。我找不到描述此特定问题的任何内容。非常感谢您的帮助。

最佳答案

ASP session 对象被限制为单线程单元(STA)。结果,对同一 session 的ASP脚本的请求只能顺序处理。

即使在多个 session 中也可能只看到1个正在执行的ASP脚本的另一个原因是,已经为ASP启用了调试功能。这将导致ASP处理忽略ASPProcessorThreadMax并假装将其设置为1。

要消除问题ensure debugging is not enabled并关闭“启用 session 状态”。如果您在代码中使用Session对象,则需要找到一种替代方法,例如DB后备状态。

但是,您希望在现场制作中有多少 Activity 的并发 session ?也许整个用户体验不会真正受到每个 session 请求序列化的影响。

关于asp.net - 经典ASP 'Requests Executing'永远不会大于1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11003728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com