Java cassandra db慢速连接

Java cassandra db慢速连接,java,cassandra,connection,Java,Cassandra,Connection,我第一次用Java尝试cassandra db。我有以下代码,其中连接到db(cluster.connect)需要2-4秒 我在本地主机上有一个带有SSD磁盘的数据库。我只有一个cassandra节点。有什么建议可以改进吗 public static void main(String[] args) { Cluster cluster; Session session; long start = System.currentTimeMillis(

我第一次用Java尝试cassandra db。我有以下代码,其中连接到db(cluster.connect)需要2-4秒

我在本地主机上有一个带有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作为联系点,看看这是否有什么不同。如果您查看日志,您可以增加要跟踪的日志级别,并且您可以看到它一直花费在哪里。

您关心连接时间的任何特定原因?大多数C*API只是保持与数据库的连接。好的,我会这样做,我计划在application deploy上建立连接,然后在整个应用程序生命周期内使用它。我使用virtualbox在笔记本电脑上的虚拟机上运行cassandra,因此我无法使用localhost,我将尝试调查日志。当然,这只是我第一次尝试使用cassandra,但我很惊讶连接速度如此之慢。在虚拟机中运行可能是造成连接速度缓慢的原因。我会检查您是否为virtualbox中的VM设置分配了相当数量的RAM和多个CPU核。