我使用Janusgraph(Gremlin / Cassandra / Elasticsearch)在两个区域(NCSA和EMEA)配置了两个DC复制。复制工作很好,但是性能并不是那么好。
我只花了大约250ms的时间来读取NCSA上的节点(当我只有一个1 DC / 1节点时读取30ms),写入时间大约为800ms。
我尝试修改一些配置:
我是否可以修改任何其他设置/配置以获得更好的多区域设置性能,或者Janusgraph / Cassandra预计会有哪种性能?
由于
我能得到的最低时间是
Datacenter: DC1
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 10.130.xxx.xxx 184.02 KB 256 100.0% 7c4c23f4-0112-4023-8af1-81a179f68973 RAC2
UN 10.130.xxx.xxx 540.67 KB 256 100.0% 193f0814-649f-4450-8b2e-85344f2c3cf2 RAC3
UN 10.130.xxx.xxx 187.47 KB 256 100.0% fbbc42d6-a061-4604-935e-dbe1155d4017 RAC1
Datacenter: DC2
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 10.30.xxx.xxx 93.3 KB 256 100.0% e7221808-ccb4-414a-b5b6-6e578ecb6f25 RAC3
UN 10.30.xxx.xxx 287.62 KB 256 100.0% ca868262-4b5d-44d6-80f9-25439f8d2611 RAC2
UN 10.30.xxx.xxx 282.27 KB 256 100.0% 82d0f75d-635c-4016-84ca-ef9d1afda066 RAC1
答案 0 :(得分:0)
Janusgraph带有不同的caches levels,激活其中一些可能会有所帮助。
关于ConsistencyLevel,在多直流配置中,LOCAL_xxx值将提供更好的性能但是为了安全起见,我将初始化本地或最近的Cassandra数据中心的名称。 (配置参数:storage.cassandra.astyanax.local-datacenter
)
你能说出花费的时间(在JanusGraph图层的Cassandra图层中)吗?要知道Cassandra的响应时间是什么,您可以运行nodetool proxyhistograms
,显示协调器记录的完整请求延迟。