在几个地方的官方.net客户端代码中,我看到了lock的语句。这引发了一个内部问题,即对性能有多大影响。
我当前的解决方案是一个使用Graylog进行日志记录的Web应用程序,其接收器是Rabbit队列。单个关键路径请求可能仅导致几十个日志,并且理想情况下应在500ms上运行。在高峰时刻,我们希望每秒处理3-5个请求,每秒处理1-2百个其他请求。
现在,连接和模型基本上是单例的,我的问题是:当我们遇到重负载时,我应该担心那些锁吗?有死锁点吗?
答案 0 :(得分:0)
通常,锁本身相对便宜,如此处所示:How expensive is the lock statement?
简短答案:50ns
因此,实际的问题是:锁定的部分实际上是,这有关系吗?
我的假设是,这是将消息发布到队列中的部分(尽管如果您对此进行详细说明会有所帮助)。
因此,我没有深入研究代码,但是由于它纯粹是在客户端,因此您应该能够轻松地横向扩展那些客户端。