2015-11-03 29 views
2

我在mnesia中有一張桌子,並且讀到表格的大小限制只有4GB。我讀到要將更多數據存儲在單個表中,碎片必須在mnesia中完成。另外,當使用沒有碎片的表格時,我注意到cpu使用率很高(disc_only_copies),但不知道爲什麼。Erlang - Mnesia中的更多碎片意味着更多的表現嗎?

我想知道增加更多片段是否會提高mnesia性能,減少CPU使用率,還是僅僅將更多數據存儲在單個表中?

+0

我不明白爲什麼碎片應該太大的差別。檢查你的CPU在IOWAIT中不忙,而不是做一些有用的事情。 – Michael

回答

0

你沒有指定你用什麼樣的表:

disk_only:僅在RAM:使用DETS並限制爲2GB(不要用這個!)

ram_copies限於< 4 GB在32位機器(ETS表),更大的可能在64位的Erlang虛擬機由可用存儲器

disk_copies限於:在RAM中,在磁盤上的事務日誌,那並不噸有DETS侷限性,但在RAM的限制依然存在,但如果你有足夠的內存,並使用64位VM你的罰款

詳細內容見:LYSE on mnesia table types