mogilefsd同步速度调优
#查看主從
mogadm settings list
?
#一點點調試
mogadm settings list
mogadm settings set internal_queue_limit 500
mogadm settings set queue_rate_for_fsck 100
mogadm settings set queue_size_for_fsck 20000
#
mogadm settings set internal_queue_limit 50000
mogadm settings set queue_rate_for_fsck 10000
mogadm settings set queue_size_for_fsck 5000000
#
mogadm settings set internal_queue_limit 100000
mogadm settings set queue_rate_for_fsck 20000
mogadm settings set queue_size_for_fsck 10000000
?
#查看速度
mogadm fsck status
#查看狀態
telnet 127.0.0.1 7001
#fsck工作量
!stats
#fsck數量
!jobs
#查看信息
!watch
#設置工作數量
!want 1 fsck
internal_queue_limit 這個值是指 tracker 從數據庫(fsck )隊列中一次取出的 FID 的數量.如果你使用 '!stats' 的命令連接在 tracker 上查看看, 你會見到象 work_queue_for_fsck 0 之類的這樣的各種變量.如果你運行了很多個用來做 fsck 的 worker , 但這個統計非常低或為 0, 需要增加 internal_queue_limit 將會讓它執行更快. 但不要設置的過高..大約幾千可能是個合適的值.我建議是設置 2000-7000 之間.目前我是設置 5000, 這是一個緩慢的內部設置的增加,所以要有耐心點調.您要調整這個值保持不斷的提供給隊列任務又不能太多.所以直到出現 work_queue_for_fsck 后面一直有數,但又不高為止.
queue_size_for_fsck 這是給在 tracker 數據庫的隊列中一次取多少 FID 發送給 worker .太高,這會浪費你更多的磁盤空間,但是,如果隊列是時常為零, 增加二倍 or 三倍的值來幫助你從隊列中提前取得需求的內容.
queue_rate_for_fsck 注入到循環的每一個隊列中的 FID 的數量(every other second-ish),如果隊列是在 limit 之下.設置過高的變量,可能會導致太多DB負載,但過低的trackers 不能從隊列中提前獲得. 可在一次隊列可能完成的總的 FID 的數量高達 queue_size_for_fsck + queue_rate_for_fsck.
?* FSCK code has new tunables to control how aggressive it runs:
????????? queue_size_for_fsck (how many fids to keep in file_to_queue table)
????????? queue_rate_for_fsck (how many fids to put into the table per second)
????????? the generic internal queue is now tunable:
????????? internal_queue_limit (how many fids to pull out of a queue table at
????????????? once. old default was 500).
????????? All are tunable by 'mogadm settings set'
????????? (dormando)
轉載于:https://www.cnblogs.com/cainiaoit/p/8579600.html
總結
以上是生活随笔為你收集整理的mogilefsd同步速度调优的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript的基本使用
- 下一篇: 使用Hexo搭建个人博客网站