我目前正在使用CassandraSharp对3个节点的Cassandra进行基准测试.我主要担心的是延迟比吞吐量更多,所以经过一些GC调整后我的数字(在100 000K插入,单线程):
我的问题是,偶尔我会遇到"坏"延迟(50ms),我的目标是保持一致的延迟,即使以更高的平均值为代价.
我相信这是由GC造成的,我想知道是否可以避免.
(作为旁注,向一个节点发送大量插入并让它处理它或者我应该在客户端"负载均衡"它是一个好习惯吗?)
50ms 在年轻代垃圾收集的正常范围内。您可以通过取消注释底部的相应行来启用 cassandra-env.sh 中的 GC 日志记录,以验证这是否是问题所在。
(刷新不会阻止插入,除非您的磁盘太慢而无法跟上插入量,这是不寻常的,因为刷新是顺序 I/O。)
如果年轻代集合确实与较高的延迟相关,您可以减少尝试使年轻代更小(也在 cassandra-env.sh 中配置),但可能会以延迟换取吞吐量为代价。
| 归档时间: |
|
| 查看次数: |
269 次 |
| 最近记录: |