• TokuMX写操作无法加锁的问题


    问题:

    TokuMX删除文档时,符合删除条件的文档很多,删除操作持续时间长,期间,服务写操作OPS大幅下降,同时日志log里发现大量“ Lock not granted. Try restarting the transaction. ”。

    在删除操作执行完成后,积累的update一时间涌进来。同样的删除行为,在MongoDB上运行正常。

    原因:

    MongoDB是数据库锁,即使remove持续时间长,周期性释放锁可以保证其他读写操作执行。它支持的并发访问,服务端实际上是串行处理。

    TokuMX是文档锁,写操作会把目标文档全部加锁,导致其他client在操作该文档时hang住。对于文档锁,没有深入了解,不确定是锁目标文档,还是锁所有扫描过的文档,后者带来的影响更大。

    解决方法:

    避免批量删除文档,避免覆盖很广的写操作,对于删除操作,可以一次查询,逐行删除。

    参考资料:http://www.tokutek.com/2013/09/lock-diagnostics-and-index-usage-statistics-in-tokumx-v1-2-1/

  • 相关阅读:
    通过代码获取log4net的文件路径
    关键字后面不加空格
    ASP.NET MVC 4 Content Map
    ASP.NET Overview
    ASP.NET 4 and Visual Studio 2010
    Newtonsoft.Json
    ASP.NET MVC
    log4net
    AutoMapper introduction
    ajax jsonp跨域
  • 原文地址:https://www.cnblogs.com/caosiyang/p/4031359.html
Copyright © 2020-2023  润新知