如何查询Gemfire客户端连接数?
How to query the number of Gemfire client connections?
我正在尝试查看在任何给定时间有多少客户端连接到 Gemfire 服务器。我在 documentation 中找到了 currentClientConnections
,但不清楚如何读取这些数据。我试过 运行 VMWare VSD,但它在 Windows 下启动时崩溃。
知道如何访问这些数据吗?
您可以使用 GemFire Shell gfsh
中的 show metrics
命令来获取 currentClientConnections,如下所示:
gfsh>show metrics --member=serv1 --port=40404
您可以在输出的缓存服务器部分看到 currentClientConnections:
<snip>
cache-server | clientConnectionCount | 0
| hostnameForClients |
| getRequestAvgLatency | 0
| putRequestAvgLatency | 0
| totalConnectionsTimedOut | 0
<snip>
有关 gfsh
的更多信息,请参阅 documentation。
您还可以使用 JConsole 或其他 JMX 客户端通过 JMX 访问此信息。如果您直接连接到服务器节点,您可以访问该服务器的 GemFire MBean。如果您连接到 GemFire JMX 管理器节点(默认情况下是定位器),那么您将看到每个服务器节点的 DistributedMXBean 以及 MemberMXBeans 和 CacheServerMXBeans。
+GemFire
+Distributed [1]
+System --> DistributedSystemMXBean [2]
...getNumClients() [3]
+Member [4]
+member1 --> MemberMXBean [5]
+member2 --> MemberMXBean [5]
+CacheServer
+2090
+member1 --> CacheServerMXBean [6]
..getClientConnectionCount() [7]
+2091
+member2 --> CacheServerMXBean [6]
..getClientConnectionCount() [7]
[1] these MBeans are viewable only in the JMX Manager (Locator by default)
[2] ObjectName is GemFire:service=System,type=Distributed
[3] returns the total number of client connections across the entire cluster
(number of client connections, not the number of unique clients)
[4] these MBeans are viewable in each server node as well as federated in the JMX Manager (Locator by default)
[5] ObjectName is GemFire:type=Member,member={0}
[6] ObjectName is GemFire:service=CacheServer,port={0},type=Member,member={1}
[7] returns the number of client connections for this server
以下命令行对我有用:
watch -n1 "gemfire stats -archive=logs/server/stats/gemfire_stats.gfs | grep -i currentClientConnections"
意思是,它列出所有的统计数据,只打印currentClientConnections
的值,并且每秒重复这个过程。
我正在尝试查看在任何给定时间有多少客户端连接到 Gemfire 服务器。我在 documentation 中找到了 currentClientConnections
,但不清楚如何读取这些数据。我试过 运行 VMWare VSD,但它在 Windows 下启动时崩溃。
知道如何访问这些数据吗?
您可以使用 GemFire Shell gfsh
中的 show metrics
命令来获取 currentClientConnections,如下所示:
gfsh>show metrics --member=serv1 --port=40404
您可以在输出的缓存服务器部分看到 currentClientConnections:
<snip>
cache-server | clientConnectionCount | 0
| hostnameForClients |
| getRequestAvgLatency | 0
| putRequestAvgLatency | 0
| totalConnectionsTimedOut | 0
<snip>
有关 gfsh
的更多信息,请参阅 documentation。
您还可以使用 JConsole 或其他 JMX 客户端通过 JMX 访问此信息。如果您直接连接到服务器节点,您可以访问该服务器的 GemFire MBean。如果您连接到 GemFire JMX 管理器节点(默认情况下是定位器),那么您将看到每个服务器节点的 DistributedMXBean 以及 MemberMXBeans 和 CacheServerMXBeans。
+GemFire
+Distributed [1]
+System --> DistributedSystemMXBean [2]
...getNumClients() [3]
+Member [4]
+member1 --> MemberMXBean [5]
+member2 --> MemberMXBean [5]
+CacheServer
+2090
+member1 --> CacheServerMXBean [6]
..getClientConnectionCount() [7]
+2091
+member2 --> CacheServerMXBean [6]
..getClientConnectionCount() [7]
[1] these MBeans are viewable only in the JMX Manager (Locator by default)
[2] ObjectName is GemFire:service=System,type=Distributed
[3] returns the total number of client connections across the entire cluster
(number of client connections, not the number of unique clients)
[4] these MBeans are viewable in each server node as well as federated in the JMX Manager (Locator by default)
[5] ObjectName is GemFire:type=Member,member={0}
[6] ObjectName is GemFire:service=CacheServer,port={0},type=Member,member={1}
[7] returns the number of client connections for this server
以下命令行对我有用:
watch -n1 "gemfire stats -archive=logs/server/stats/gemfire_stats.gfs | grep -i currentClientConnections"
意思是,它列出所有的统计数据,只打印currentClientConnections
的值,并且每秒重复这个过程。