我们正在使用webapi服务多个客户端请求,该服务器托管在iis服务器上。
iis如何处理来自客户的数千个请求?
1)在这种情况下,我们如何才能获得最佳性能? 2)制作webapi方法,async会有什么不同吗? 3)我们需要遵循哪些最佳实践?
提前致谢。
答案 0 :(得分:1)
iis如何处理来自客户的数千个请求?
这取决于。实际上,即使IIS的限制可能不是您主要关注的问题,还有其他可能会影响IIS性能的事情,例如硬件。
在这种情况下,我们如何才能获得最佳表现?
你可以做很多事情,你可以使用队列系统,在许多情况下不需要让用户等待繁重的事务或非常复杂的逻辑。如果用户的请求涉及许多不同的复杂任务,您可以做到最小并返回给用户,其余的可以在后台完成。您可以使用队列系统来实现这种情况。
制作webapi方法,async会有什么不同吗?
不,因为async
表示“允许此方法异步工作”或“允许此方法使用await
运算符”。您应该知道如何使用concurrency
而不仅仅是asynchronous programming
。但是使用Tasks
来处理繁重的事务,比如处理数据库和await
async
方法中的这些任务,是的,这将有助于您的服务器同时响应更多请求。
我们需要遵循哪些最佳做法
对concurrency
的充分理解将非常有帮助。此外,它不仅仅是WEB API
所有可能影响您的Web应用程序性能的数据访问层,以及RDBMS
中的索引甚至响应可能有所贡献。就像您的回复是XML
一样,您可以使用JSON
,因为它生成的数据比XML
少,因此数据交换速度更快。你的问题非常广泛,这取决于它。这取决于IIS
或Web API
甚至整个Web application
。
答案 1 :(得分:0)
您需要对此<button id="button_id" data-filter=".parkett" class="sub">Button</button>
有一个很好的理解。
以上答案以最佳方式解释。
此外,您可以阅读此MSDN文章,了解有关Concurrency
Handling Concurrency with the Entity Framework in an ASP.NET MVC Application