如何检查连接是否是性能瓶颈
How to check if connection is the performance bottleneck
我将 Apache Ignite 与 Java 应用程序一起使用,并观察到随着并发性的增加,响应时间也会增加。我注意到 java 应用程序和 Ignite 服务器之间只建立了一个连接。我如何确认这是否是瓶颈?线程转储显示某些线程正在等待 Socket.Read
方法。它与连接数有关吗?
自 Ignite 2.7.6 起,Thin Client 仅与服务器节点建立一个连接。是的,当从多个线程使用时它会成为瓶颈。
我建议每个线程有一个 IgniteClient
实例,或者使用某种连接池。
此外,Ignite 2.8 引入了分区感知(计划于今天发布),其中与每个指定服务器节点建立瘦客户端连接,并将基于密钥的请求分派到主节点。这也可能对您有所帮助。
您是否尝试过 java JDK 附带的应用程序(JVisualVM) or best yourkit 以确定您在哪些方面浪费了时间?
我将 Apache Ignite 与 Java 应用程序一起使用,并观察到随着并发性的增加,响应时间也会增加。我注意到 java 应用程序和 Ignite 服务器之间只建立了一个连接。我如何确认这是否是瓶颈?线程转储显示某些线程正在等待 Socket.Read
方法。它与连接数有关吗?
自 Ignite 2.7.6 起,Thin Client 仅与服务器节点建立一个连接。是的,当从多个线程使用时它会成为瓶颈。
我建议每个线程有一个 IgniteClient
实例,或者使用某种连接池。
此外,Ignite 2.8 引入了分区感知(计划于今天发布),其中与每个指定服务器节点建立瘦客户端连接,并将基于密钥的请求分派到主节点。这也可能对您有所帮助。
您是否尝试过 java JDK 附带的应用程序(JVisualVM) or best yourkit 以确定您在哪些方面浪费了时间?