Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member
0 Kudos

Services

上图是SAP HANA中系统服务的截图,描述了一个SAP HANA实例涉及到的相关服务信息,包括基本信息、当前CPU、内存使用情况以及SQL端口。这些信息是围绕系统表M_SERVICES来获取的。M_SERVICES中包括了SAP HANA实例中所有服务信息:主机名 (HOST) 、端口号 (PORT) 、服务名称 (SERVICE_NAME) 、进程ID (PROCESS_ID) 、详细信息 (DETAIL) 、当前活动状态 (ACTIVE_STATUS) SQL端口 (SQL_PORT) 和协调模式 (COORDINATOR_TYPE)

关于每个服务的CPU、内存使用信息涉及到表M_SERVICE_STATISTICSM_SERVICE_MEMORY。每个服务的CPU使用情况可以通过表M_SERVICE_STATISTICS中的PROCESS_CPU(当前服务的CPU使用率)和TOTAL_CPU(所有服务的CPU使用率)。每个服务的当前使用内存、有效分配内存限制和主机的物理内存可以分别通过表M_SERVICE_MEMORYTOTAL_MEMORY_USED_SIZE(内存池中当前使用的内存大小)、EFFECTIVE_ALLOCATION_LIMIT(最大有效内存池大小)和表M_SERVICE_STATISTICSPHYSICAL_MEMORY_SIZE(操作系统层面的物理内存)来获取。而每个服务所占用内存的最高值,是通过表达式来获取:


ifnull (m_heap_memory_reset."INCLUSIVE_PEAK_ALLOCATION_SIZE"+
m_service_memory."CODE_SIZE"+
m_service_memory."SHARED_MEMORY_ALLOCATED_SIZE",
m_service_memory."TOTAL_MEMORY_USED_SIZE")/(1024*1024)

类似于上一篇博客中计算当前SAP HANA实例内存使用峰值的方法,每个服务的内存使用峰值也是通过表M_HEAP_MEMORY_RESETM_SERVICE_MEMORY共同完成的。表M_HEAP_MEMORY_RESET使用层级结构记录每个服务每个项目分配的内存峰值,通过这一项和每个服务的代码块内存大小以及共享内存分配峰值总和来计算。对于那些不记录项目分配内存峰值(daemon, nameserver, preprocessor)的服务,则使用当前使用的内存大小来表示。

除了这些展示出来的字段,在表M_SERVICE_STATISTICS中这些字段对性能监控也是很有用的:REQUESTS_PER_SEC(基于最近1000个请求计算出的每秒请求处理数)、RESPONSE_TIME(基于最近1000个请求计算出的请求响应时间)、ACTIVE_REQUEST_COUNT(活动请求数)、PENDING_REQUEST_COUNT(提交的请求数)和ACTIVE_THREAD_COUNT(活动的进程数)。

Hosts

上图是SAP HANA中的主机情况截图。描述了主机,主要是在分布式环境中当前的状态、nameserverindexserver的角色失效备援情况和存储分区信息。

涉及的系统表是M_LANDSCAPE_HOST_CONFIGURATION。分别可以通过如下字段获取:HOST_ACTIVE(主机上所有服务的活动情况)、HOST_STATUS(主机情况)、FAILOVER_STATUS(失效备援情况)、NAMESERVER_CONFIG_ROLEnameserver配置的角色)、NAMESERVER_ACTUAL_ROLEnameserver实际角色)、INDEXSERVER_CONFIG_ROLEindexserver配置的角色)、INDEXSERVER_ACTUAL_ROLEindexserver实际角色)、FAILOVER_CONFIG_GROUP(失效备援配置的组)、FAILOVER_ACTUAL_GROUP(失效备援实际的组)。

关于主机上服务状态,有如下几种:

YES

所有服务都是活动的

STARTING

实例在启动过程中,只有部分服务活动

PARTIAL

部分服务活动

STOPPING

实例停止过程中,部分服务活动

NO

没有活动的服务

失效备援状态:

没有失效备援

Waiting..sec

检测到失效,为防止不必要的失效而等待一段时间重启

Waiting

检测到失效,等待其他正在启动的主机

Failover to ‘host’

主机’host’备援活动

Failback to ‘host’

故障恢复

Failed

失效备援失败,可以在nameserver.trc中查看日志

Redistribution

涉及两张表M_REORG_ALGORITHMSREORG_OVERVIEWM_REORG_ALGORITHMS作用是提供增加主机后的表重分配、表分配、表分区的优化的算法。系统表REORG_OVERVIEW提供执行过的重分配情况,包括执行状态(STATUS):STARTED—执行开始,FINSHED—已经完成,FAILED—失败;开始时间(START_DATE),结束时间(END_DATE),用户(USER),算法IDALGORITHM_ID)和参数(PARAMETER)。

System replication

涉及的系统表为M_SERVICE_REPLICATION,这张表描述了服务的复制信息。包括主从主机名,复制模式、状态,端口,附属主机活动状态、连接时间、重连接次数、失效备援次数、主从主机LOGSAVEPOINT等等各方面信息。因为字段较多,在这里不一一列举。

参考资料:SAP HANA SQL and System Views Reference

想获取更多SAP HANA学习资料或有任何疑问,请关注新浪微博@HANAGeek!我们欢迎你的加入!

转载本文章请注明作者和出处http://scn.sap.com/community/chinese/hana/blog/2014/04/09/sap-hana-system-views%E5%AD%A6%E4%B9%A0-la...,请勿用于任何商业用途。