Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra—G1GC的JVM调优_Cassandra_Jvm_Database Tuning - Fatal编程技术网

Cassandra—G1GC的JVM调优

Cassandra—G1GC的JVM调优,cassandra,jvm,database-tuning,Cassandra,Jvm,Database Tuning,由于GC,我的突变率下降。我的年轻一代GC需要很长时间 1804ms的G1年轻一代GC。G1伊甸园空间:771751936->0;G1旧代:5351931920->4995416072;G1幸存者空间:83886080->58720256 在过去5000毫秒内删除了突变消息:814表示内部超时,0表示跨节点超时。平均内部丢弃延迟:2874毫秒,平均跨节点丢弃延迟:0毫秒 为了避免这种情况,我应该减少Cassandra-env.sh中的MaxGCPauseMillis选项 我们的默认值是500ms

由于GC,我的突变率下降。我的年轻一代GC需要很长时间

1804ms的G1年轻一代GC。G1伊甸园空间:771751936->0;G1旧代:5351931920->4995416072;G1幸存者空间:83886080->58720256

在过去5000毫秒内删除了突变消息:814表示内部超时,0表示跨节点超时。平均内部丢弃延迟:2874毫秒,平均跨节点丢弃延迟:0毫秒

为了避免这种情况,我应该减少Cassandra-env.sh中的MaxGCPauseMillis选项

我们的默认值是500ms。(JVM_OPTS=“$JVM_OPTS-XX:MaxGCPauseMillis=500)


调整此设置是否会减少丢弃的变异消息。我是否需要增加或减少该值。

1.8s GC可能不是唯一的问题,如果变异处理时间超过5秒。tpstats中是否有大量挂起的数据?cpu负载如何?您的写入速度可能是Cassandra无法承受的软件和数据模型


您可能希望首先尝试增加堆大小。使用G1很难调整16gb以下的空间。如果包含1.8s时间内的gc日志,则更容易提供帮助,而不包含日志,则很难判断到底发生了什么。您可以尝试减少gc时间目标,但如果此长gc是异常值,则可能没有帮助。您可能需要如果更新记忆集花费的时间太长,则增加区域大小。检查庞大的对象,以及可能存在数据建模问题的对象(增加区域大小会有所帮助)。如果您的分配峰值导致疏散失败,请增加堆大小或将GCReservePercent设置为25而不是10,以便为其提供更多处理峰值的空间。

谢谢,Chris没有挂起的任务Hanks,Chris没有挂起的任务。我们的堆大小为16gb。每次删除突变后,我们都会看到新一代正在执行ab超出2秒。因此,如果我将参数值减少到250毫秒,这是没有用的。?这取决于。如果您正在安静地运行,那么分配突然出现峰值,您可能仍然有问题。这就是您可以看到异常GC的地方(即大多数时间是500毫秒,但每天一次,当它在压缩中反序列化大分区索引时,它有一个2s GC)。这是gc日志非常有用的地方,也可以用来确定要调整哪些内容以防止它。您应该发布详细的gc日志,而不是一行。
-XX:+PrintGCDetails