使用java模拟多用户与Cassandra的连接
我正在用java开发一个应用程序。目标是模拟多个用户连接到Cassandra(并发连接),所有用户都连接到同一个集群 我的问题是:我应该实现多个会话,每个会话模拟一个用户吗。或者整个应用程序只有一个会话。?还有,如果可能,如何实现多个会话使用java模拟多用户与Cassandra的连接,java,cassandra,datastax,datastax-java-driver,Java,Cassandra,Datastax,Datastax Java Driver,我正在用java开发一个应用程序。目标是模拟多个用户连接到Cassandra(并发连接),所有用户都连接到同一个集群 我的问题是:我应该实现多个会话,每个会话模拟一个用户吗。或者整个应用程序只有一个会话。?还有,如果可能,如何实现多个会话 如果有引用或示例,它会增值。 ,您应该总是考虑使用一个连接池的并发会话来进行并发请求。如果会话出错,可以构建重试机制。虽然您可以在技术上创建冗余会话,但驱动程序会允许这样做 理想情况下,每个应用程序应该只使用一个集群/会话对象,因为每个会话对象都会创建一个+来
如果有引用或示例,它会增值。
,您应该总是考虑使用一个连接池的并发会话来进行并发请求。如果会话出错,可以构建重试机制。虽然您可以在技术上创建冗余会话,但驱动程序会允许这样做
理想情况下,每个应用程序应该只使用一个集群
/会话
对象,因为每个会话
对象都会创建一个+来获取有关架构和拓扑更改等的通知,并且连接太多会给节点增加额外的负载。如中所述,单个网络连接可以同时执行多个请求,如果需要,您可以增加飞行中请求的数量,但不建议将其设置得太高,由于大量的飞行中请求表明节点无法如此快速地执行查询-如果您运行的查询使用允许过滤
,或者获取的数据过多,则可能会发生这种情况
您可以在《DataStax指南》中找到更多信息。您想衡量什么-多个用户如何通过同一个应用程序创建负载。或者多个用户作为不同的应用创建负载?我想测量多个用户如何在Cassandra DB上创建负载。无论是否来自同一个应用程序。我正在开发的应用程序只是为了模拟多用户连接并执行一些cql。