gns相关状态查看
2.1状态信息说明
使用如下命令打印当前GNS状态:
gncli -uroot -e "show engine express status\G"
显示如下(黄色高亮的为关键信息及其说明):
*************************** 1. mw ***************************
Type: memory
Name: memory statistic
Status:-------------------------------------------------------------------
MALLOC: | 1109394928 ( 1058.0 MiB) Bytes in use by | ||
application | //gbased占用内存 | ||
MALLOC: | + | 0 ( | 0.0 MiB) Bytes in page heap freelist |
MALLOC: | + | 15619840 ( | 14.9 MiB) Bytes in central cache freelist |
MALLOC: | + | 49152 ( | 0.0 MiB) Bytes in transfer cache freelist |
MALLOC: | + | 37438224 ( | 35.7 MiB) Bytes in thread cache freelists |
MALLOC: | + | 7385248 ( | 7.0 MiB) Bytes in malloc metadata |
MALLOC: | — | ||
MALLOC: | = | 1169887392 ( 1115.7 MiB) Actual memory used (physical + | |
swap) | |||
MALLOC: | + | 1859616768 ( 1773.5 MiB) Bytes released to OS (aka unmapped) | |
MALLOC: | — | ||
MALLOC: | = | 3029504160 ( 2889.2 MiB) Virtual address space used | |
MALLOC: | |||
MALLOC: | 22464 | Spans in use | |
MALLOC: | 607 | Thread heaps in use | |
MALLOC: | 8192 | Tcmalloc page size |
Call ReleaseFreeMemory。to release freelist memory to the OS (via madvise。). Bytes released to the OS take up virtual address space but no physical memory.
*************************** 2. row ***************************
Type: DataSession
Name: DataSession Statistics
Status: DataSessionManager
Send buffer size: 0 Initiated Connections: 10 |
//gns发送队列中缓存的数据 |
〃当前节点作为client端建立的TCP连接,应 |
等于集群节点数
1: Addr: 10.10.10.29, Status: PACKET_FINISHED, Sessions: 18, Sent:
7487290253 Bytes, Recv: 440737 Bytes, Queued Sessions: 0
2: Addr: 10.10.10.46, Status: PACKET_FINISHED, Sessions: 197, Sent:
22835840951 Bytes, Recv: 2614679 Bytes, Queued Sessions: 0
3: Addr: 10.10.10.47, Status: PACKET_FINISHED, Sessions: 197, Sent:
61929505793 Bytes, Recv: 2640409 Bytes, Queued Sessions: 0
4: Addr: 10.10.10.48, Status: PACKET_FINISHED, Sessions: 18, Sent:
3678259608 Bytes, Recv: 432257 Bytes, Queued Sessions: 0
5: Addr: 10.10.10.49, Status: PACKET_FINISHED, Sessions: 18, Sent:
6946830361 Bytes, Recv: 434753 Bytes, Queued Sessions: 0
6: Addr: 10.10.10.50, Status: PACKET_FINISHED, Sessions: 18, Sent:
5303228244 Bytes, Recv: 434113 Bytes, Queued Sessions: 0
7: Addr: 10.10.10.51, Status: PACKET_FINISHED, Sessions: 18, Sent:
3679509021 Bytes, Recv: 432289 Bytes, Queued Sessions: 0
8: Addr: 10.10.10.53, Status: PACKET_FINISHED, Sessions: 18, Sent:
7024717656 Bytes, Recv: 434817 Bytes, Queued Sessions: 0
9: Addr: 10.10.10.54, Status: PACKET_FINISHED, Sessions: 18, Sent:
3657383329 Bytes, Recv: 431617 Bytes, Queued Sessions: 0
10: Addr: 10.10.10.56, Status: PACKET_FINISHED, Sessions: 18, Sent:
6973918734 Bytes, Recv: 439720 Bytes, Queued Sessions: 0
Accepted Connections: 10 〃当前节点作为server端建立的TCP连接,应
等于集群节点数
429211 Bytes, Recv: 7853420367 Bytes, Queued Sessions: 0
429883 Bytes, Recv: 7816912470 Bytes, Queued Sessions: 0
429627 Bytes, Recv: 8108394854 Bytes, Queued Sessions: 0
430363 Bytes, Recv: 7752634602 Bytes, Queued Sessions: 0
429883 Bytes, Recv: 7732659722 Bytes, Queued Sessions: 0
430587 Bytes, Recv: 7721191901 Bytes, Queued Sessions: 0
430235 Bytes, Recv: 7624733900 Bytes, Queued Sessions: 0
Sent: 2564403 Bytes, Recv: 27087895679 Bytes, Queued Sessions: 0
Sent: 2586253 Bytes, Recv: 59579089002 Bytes, Queued Sessions: 0
Total Sent: 129525075596, Total Recv: 148774106877 *************************** 3. row ***************************
Type: sis memory
Name: sis memory statistics
Status: SISRecordDispatcher: peak: 1.44GB, current: 334.50MB, TmpMatBuf: peak: 0, current: 0, ByteQueue: peak: 77.43MB, current: 19.57MB
*************************** 4. row ***************************
Type: dts info
Name: dts statistics
//CPU核数2倍个 |
RepActor 0 |
|
1 |
2 |
17 |
17 |
19 |
19 |
20 |
8 |
9 |
20 |
19 |
3 |
4 |
5 |
6 |
7 |
18 |
17 |
18 |
|
10 |
11 |
12 |
18 |
19 |
20 |
13 |
14 |
15 |
16 |
17 |
31, thds: 18 30, thds: 28, thds: 28, thds: 28, thds: 28, thds: |
20 |
16 |
16 |
15 |
15 |
27, thds: 16 27, thds: 16 26, thds: 14 |
21 22 23 24 25 26 27 28 29 30 31 |
sessions sessions sessions sessions sessions sessions sessions sessions sessions sessions sessions |
25, thds: 14
24, thds: 14 24, thds: 14
27, thds: 17 26, thds: 16 |
25, reps
24, reps 24, reps
27, reps 26, reps |
RepActor: RepActor: RepActor: RepActor: RepActor: RepActor: RepActor: RepActor: RepActor: RepActor: RepActor: |
CommonTaskQueue: (gbased-rep) 〃DTS处理接收到的数据的任务队列
Total executors: 32 //CPU 核数 2 倍个 executors
Total tasks: 0 〃当前CommonTaskQueue中的任务数,每个非空的Tasks
group 算 1 个 task
Total weight: 7899806 〃当前CommonTaskQueue中的任务的权重,可以认
为是等待处理的任务占用的内存大小,单位是byte
Tasks groups: 837 //Tasks group可以认为是一种特殊的task,它可以包含 多个子task,这些子task会串行执行
[0]: | TaskGroup[0]: | Size: 0 | Weight: 0 |
[1]: | TaskGroup[1]: | Size: 0 | Weight: 0 |
[8]: | TaskGroup[8]: | Size: 0 | Weight: 0 |
[21]: | TaskGroup [21]: | Size: 0 | Weight: 0 |
[25]: | TaskGroup[25]: | Size: 0 | Weight: 0 |
[33]: | TaskGroup[33]: | Size: 0 | Weight: 0 |
[936]: | TaskGro up[936] | : Size: 0 | Weight: 0 |
[937]: | TaskGro up[937] | : Size: 0 | Weight: 0 |
Total tasks in groups: 24 //task group 中包含的 task 的总数
Total weight in groups: 7189480 //task group 中包含的 task 的总权重
Total task types: 4 〃各种不同类型task的个数
[RepTaskCheckAsyncStatus]: 0
[RepTaskCloseRep]: 0
[RepTaskFowardDC]: 0
[RepTaskRecvData]: 23
2.2应用实例
2. 2. 1 集群的数据节点内存占用过多
可以通过查看
MALLOC: 1109394928 ( 1058. 0 MiB) Bytes in use by application
来确定数据节点进程共占用了多少内存,如果确实是此进程占用了很多内 存,可以进一步查看
Send buffer size: 0
和
Total weight: 7899806
来确认是否是由于发送或者接受队列缓存占用过多造成。
2. 2. 2 查看集群各节点数据传输的负载状况
可以通过查看各个数据节点的
Send buffer size: 0
和
Total weight: 7899806
来确认各个节点哪个是收发数据的瓶颈。
2. 2. 3 集群执行SQL时卡住
可以通过查看各个数据节点的
Send buffer size: 0
和
Total weight: 7899806
来确认是否是由于节点间的数据传输造成的。如果各个节点都是0,只有 一个节点数值很大,则可以断定出问题的就是那个节点,然后再进行进一步分 析。