[英]cassandra db slow connection
我是第一次使用Java尝试cassandra db。 我有以下代码,其中与db(cluster.connect)的连接需要2-4秒。
我在localhost上有一个带有SSD磁盘的数据库。 我只有一个cassandra节点。 任何提示如何改善这一点?
public static void main(String[] args) {
Cluster cluster;
Session session;
long start = System.currentTimeMillis();
cluster = Cluster.builder().addContactPoint("10.90.1.15").withPort(9042).build();
session = cluster.connect("demo");
long connectiontime = System.currentTimeMillis();
System.out.println(connectiontime - start);
ResultSet results = session.execute("SELECT * FROM users");
long querytime = System.currentTimeMillis();
System.out.println(querytime - connectiontime);
for (Row row : results) {
System.out.format("%s %d\n", row.getString("firstname"), row.getInt("age"));
}
ResultSet results2 = session.execute("SELECT * FROM users");
long querytime2 = System.currentTimeMillis();
System.out.println(querytime2 - querytime);
for (Row row : results2) {
System.out.format("%s %d\n", row.getString("firstname"), row.getInt("age"));
}
cluster.close();
}
请记住,Cassandra连接有点重,因为它们只是设置一次然后长时间使用。 对于每个小操作,连接和断开连接都是不正确的。
话虽如此,2-4秒相当长。 当我连接到远程群集时,大约需要750毫秒。
您可以查看cassandra日志,看看它是否正在做一些奇怪的事情并等待某些事情超时。 您可以尝试使用“localhost”而不是机器IP作为联系点,看看是否有任何区别。 如果您查看日志,可以将日志级别增加到TRACE,您可能会看到它一直在哪里花费。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.