Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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
Java Hazelcast负载测试:增加并联连接的最大数量_Java_Load Testing_Hazelcast - Fatal编程技术网

Java Hazelcast负载测试:增加并联连接的最大数量

Java Hazelcast负载测试:增加并联连接的最大数量,java,load-testing,hazelcast,Java,Load Testing,Hazelcast,我们目前正在使用Hazelcast(v3.3.2)进行一些负载测试。一旦并行连接的数量超过500,就会抛出异常,集群的主节点将自动关闭。我找不到关于异常的更多信息,所以我想知道在配置文件中是否有我必须增加的最大并行连接数 例外情况如下: com.hazelcast.core.HazelcastInstanceNotActiveException: Hazelcast instance is not ready yet! at com.hazelcast.client.impl.Clien

我们目前正在使用Hazelcast(v3.3.2)进行一些负载测试。一旦并行连接的数量超过500,就会抛出异常,集群的主节点将自动关闭。我找不到关于异常的更多信息,所以我想知道在配置文件中是否有我必须增加的最大并行连接数

例外情况如下:

com.hazelcast.core.HazelcastInstanceNotActiveException: Hazelcast instance is not ready yet!
    at com.hazelcast.client.impl.ClientEngineImpl$ClientPacketProcessor.processRequest(ClientEngineImpl.java:428)
    at com.hazelcast.client.impl.ClientEngineImpl$ClientPacketProcessor.run(ClientEngineImpl.java:358)
    at com.hazelcast.spi.impl.BasicOperationService$BasicDispatcherImpl.dispatch(BasicOperationService.java:546)
    at com.hazelcast.spi.impl.BasicOperationScheduler$OperationThread.process(BasicOperationScheduler.java:439)
    at com.hazelcast.spi.impl.BasicOperationScheduler$OperationThread.doRun(BasicOperationScheduler.java:433)
    at com.hazelcast.spi.impl.BasicOperationScheduler$OperationThread.run(BasicOperationScheduler.java:408)
    at ------ End remote and begin local stack-trace ------.(Unknown Source)
    at com.hazelcast.client.spi.impl.ClientCallFuture.resolveResponse(ClientCallFuture.java:194)
    at com.hazelcast.client.spi.impl.ClientCallFuture.get(ClientCallFuture.java:136)
    at com.hazelcast.client.spi.impl.ClientCallFuture.get(ClientCallFuture.java:113)
    at com.hazelcast.client.spi.ClientProxy.invoke(ClientProxy.java:110)
    at com.hazelcast.client.proxy.ClientMapProxy.put(ClientMapProxy.java:323)
    at com.hazelcast.client.proxy.ClientMapProxy.put(ClientMapProxy.java:189)
    at com.hp.cms.rtc.benchmarksuite.dbconnectors.HazelcastConnectorImpl.saveDevice(HazelcastConnectorImpl.java:154)
    at com.hp.cms.rtc.benchmarksuite.dbconnectors.HazelcastConnectorImpl.insertNewCustomer(HazelcastConnectorImpl.java:317)
    at com.hp.cms.rtc.benchmarksuite.usecases.InsertNewCustomerUseCaseImpl.execute(InsertNewCustomerUseCaseImpl.java:41)
    at com.hp.cms.rtc.benchmarksuite.generators.load.UseCaseJob.execute(UseCaseJob.java:29)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
更新:

下面是从连接器中摘录的源代码,用于创建到Hazelcast的连接

private HazelcastInstance hazelcastClient;
private IMap<Integer, Contact> contacts;
private IMap<Integer, Subscriber> subscribers;
private IMap<Integer, Account> accounts;
private IMap<Integer, Device> devices;
...

@Override
public void connect() {
    System.setProperty("hazelcast.logging.type", "none");
    ClientConfig clientConfig = new ClientConfig();
    ClientNetworkConfig networkConf = new ClientNetworkConfig();
    networkConf.addAddress(url); // default: 127.0.0.1:5701
    clientConfig.setNetworkConfig(networkConf);
    hazelcastClient = HazelcastClient.newHazelcastClient(clientConfig);
    contacts = hazelcastClient.getMap("contacts");
    subscribers = hazelcastClient.getMap("subscribers");
    accounts = hazelcastClient.getMap("accounts");
    devices = hazelcastClient.getMap("devices");
    ...

    idGenContacts = hazelcastClient.getIdGenerator("idGenContacts");
    idGenContacts.init(0);
    idGenSubscribers = hazelcastClient.getIdGenerator("idGenSubscribers");
    idGenSubscribers.init(0);
    idGenAccounts = hazelcastClient.getIdGenerator("idGenAccounts");
    idGenAccounts.init(0);
    idGenDevices = hazelcastClient.getIdGenerator("idGenDevices");
    idGenDevices.init(0);
    ...
}

你能解释一下你是如何建立这些联系的吗?我们已经对几千个连接到集群的客户端进行了测试,没有发现问题。我已经用连接器中的附加源代码更新了问题。我还升级到了Hazelcast 3.4,它将异常的发生延迟了几十个并行连接(大约530个)。请告诉我,我是否可以提供任何其他详细信息,如hazelcast.xml文件或其他内容。
com.hazelcast.spi.exception.TargetDisconnectedException: Target[Address[xx.xxx.xxx.xxx]:5701] disconnected.
    at com.hazelcast.client.connection.nio.ClientConnection$CleanResourcesTask$1.createNew(ClientConnection.java:319)
    at com.hazelcast.client.connection.nio.ClientConnection$CleanResourcesTask$1.createNew(ClientConnection.java:316)
    at com.hazelcast.client.connection.nio.ClientConnection.cleanResources(ClientConnection.java:349)
    at com.hazelcast.client.connection.nio.ClientConnection.access$200(ClientConnection.java:60)
    at com.hazelcast.client.connection.nio.ClientConnection$CleanResourcesTask.run(ClientConnection.java:316)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    at com.hazelcast.util.executor.HazelcastManagedThread.executeRun(HazelcastManagedThread.java:76)
    at com.hazelcast.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:92)
    at ------ End remote and begin local stack-trace ------.(Unknown Source)
    at com.hazelcast.client.spi.impl.ClientCallFuture.resolveResponse(ClientCallFuture.java:201)
    at com.hazelcast.client.spi.impl.ClientCallFuture.get(ClientCallFuture.java:142)
    at com.hazelcast.client.spi.impl.ClientCallFuture.get(ClientCallFuture.java:118)
    at com.hazelcast.client.spi.ClientProxy.invoke(ClientProxy.java:127)
    at com.hazelcast.client.proxy.ClientAtomicLongProxy.invoke(ClientAtomicLongProxy.java:126)
    at com.hazelcast.client.proxy.ClientAtomicLongProxy.getAndAdd(ClientAtomicLongProxy.java:98)
    at com.hazelcast.client.proxy.ClientAtomicLongProxy.getAndIncrement(ClientAtomicLongProxy.java:116)
    at com.hazelcast.client.proxy.ClientIdGeneratorProxy.newId(ClientIdGeneratorProxy.java:70)
    at com.hp.cms.rtc.benchmarksuite.dbconnectors.HazelcastConnectorImpl.insertNewCustomer(HazelcastConnectorImpl.java:325)
    at com.hp.cms.rtc.benchmarksuite.usecases.InsertNewCustomerUseCaseImpl.execute(InsertNewCustomerUseCaseImpl.java:41)
    at com.hp.cms.rtc.benchmarksuite.generators.load.UseCaseJob.execute(UseCaseJob.java:29)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)