본문 바로가기

IT/SAP

[BC] SAP Memory Management(1) - SAP Architecture

SAP Meomory Management에 대해 아래 순서대로 학습해보자.

 

SAP Memory Management란 무엇인가? 

한정된 자원으로 최적의 성능으로 운영하기 위함

 

햄버거 가게 점장인 나는 점원이 10명을 효율적으로 인원 배분하려고 한다.

평소: 카운터 2명, 요리 5명, 청소3명

피크타임: 카운터 5명, 요리 5명

정답은 없다. 그때 그때 운영 상황에 맞춰 최적의 상태를 만들어야 한다.

 

Memory management를 하기전, SAP Architecture와, Allocation에 대한 배경 지식이 필요하다.

 

 

SAP Architecture

SAP Architecutre를 검색하면 많은 종류가 나온다. R/3, Netweaver, ECC, Hana 등 말이다. 다 비슷해 보이지만 조금씩 차이점을 가지고 있다.

  1. SAP R/3:
    • 출시 연도: 1992년
    • 특징: SAP R/3은 이전 SAP R/2와는 다른 클라이언트/서버 시스템으로, 더 저렴하고 확장 가능한 아키텍처를 제공했습니다. 여러 플랫폼과 운영 체제에서 호환되며, 기업의 핵심 비즈니스 프로세스를 통합하여 관리합니다.
    • 프로그래밍 언어: ABAP (Advanced Business Application Programming)


  2. SAP ECC (ERP):
    • 출시 연도: 2004년
    • 특징: SAP ECC는 SAP R/3의 후속 제품으로, 기업의 핵심 비즈니스 기능을 하나의 통합된 시스템에서 제공합니다. **ERP (Enterprise Resource Planning)**은 기업 자원 관리를 위한 일반적인 용어이며, ECC는 SAP ERP Central Component의 약자입니다.
    • 사용 분야: 재무, 인사 등 기업의 핵심 프로세스를 통합하여 관리하는 솔루션입니다.



  3. SAP NetWeaver:
    • 특징: SAP의 비즈니스 응용 프로그램을 위한 플랫폼이며, ABAP 언어로 프로그래밍됩니다. ECC와 함께 사용되며, 기술적인 컴포넌트 중 하나입니다.
  4. SAP S/4HANA:
    • 출시 연도: 2015년
    • 특징: HANA 기반의 최신 SAP ERP 버전으로, 메모리 내 데이터베이스 기술을 활용합니다. ECC를 대체하고 있으며, 더 빠르고 혁신적인 기능을 제공합니다.

 

3-Tier로 거의 비슷한 형태를 띄고 있으며, 앞으로 다룰 Memory management는 Application Layer 영역이다.

 

 

Message Server는 Client tier에서 들어오는 요청을 여러 인스턴스의 Dispatcher에게 할당한다.

메인이 되는 인스턴스를 CI(Centeral Instance)라고 하며 나머지 인스턴스는 DI(Dialog Instance)라고 한다.

sap mmc들어가보면 여러 인스턴스들이 보이는데 타입명과 번호를 보면 대략적으로 역할을 추측할 수 있다.

 

CI: ASCSXX

Dialog: DXX, DVEBMGSXX..

Heart beat: ERSXX

sapmmc

 

 

 

1단계) 사용자가 GUI에서 SAP 시스템을 클릭하면 사용자 요청이 Dispatcher로 전달됩니다.

2단계) 요청은 먼저 요청 큐 에 저장됩니다 . Dispatcher는 선입선출 규칙을 따릅니다 . 무료 작업 프로세스를 찾고 가능한 경우 할당됩니다.

3 단계) 사용자 요청에 따라 특정 작업 프로세스가 사용자에게 할당됩니다. 예를 들어 사용자가 시스템에 로그인하면 대화 상자 작업 프로세스가 사용자에게 할당됩니다. 사용자가 백그라운드에서 보고서를 실행하는 경우 백그라운드 작업 프로세스가 사용자에게 할당됩니다. 데이터베이스 수준에서 일부 수정이 완료되면 업데이트 작업 프로세스가 할당됩니다. 따라서 사용자의 작업에 따라 작업 프로세스가 할당됩니다.

4단계) 사용자에게 작업 프로세스 대화 상자가 할당되면 사용자 권한이 부여되고, 사용자의 현재 설정은 사용자 데이터에 액세스하기 위해 공유 메모리의 작업 프로세스에 롤인됩니다. 대화 상자 단계가 실행되면 사용자의 데이터가 작업 프로세스에서 롤아웃됩니다. 따라서 공유 메모리는 정리되고 다른 사용자의 데이터는 공유 메모리 영역에 저장될 수 있습니다. 다이얼로그 단계는 화면 이동을 의미합니다. 트랜잭션에서 사용자가 한 화면에서 다른 화면으로 점프하는 프로세스를 대화 단계라고 합니다.

5 단계) 첫 번째 작업 프로세스는 버퍼에서 데이터를 찾습니다. 버퍼에서 데이터를 찾으면 데이터베이스에서 데이터를 검색할 필요가 없습니다. 따라서 응답 시간이 향상되며 이 프로세스를 적중(Hit)이라고 합니다. 버퍼에서 데이터를 찾지 못하면 데이터베이스에서 데이터를 찾게 되며 이 프로세스를 누락이라고 합니다. 적중률은 항상 실패율보다 높아야 합니다. 이는 시스템의 성능을 향상시킵니다.

6 단계) 기타 요청된 데이터는 데이터베이스에서 쿼리되고 프로세스가 완료되면 결과가 디스패처를 통해 GUI로 다시 전송됩니다.

7단계) 최종 사용자의 데이터가 공유 메모리에서 제거되어 다른 사용자가 해당 메모리를 사용할 수 있게 됩니다. 이 프로세스를 롤아웃 이라고 합니다 .

SMMS > goto > Parameters > Display 들어가면 System name, Message server, Instance Name 등 여러 정보가 보인다.

smms

 

 

Dispatcher는 요청 유형에 따라 5가지 WP에 업무를 할당한다.

업무 프로세스 유형 사용
Dialog 대화 프로그램(ABAP) 실행, > 일반적인 Tcode 실행시 작동
Update 비동기 데이터베이스 변경(대화 상자 작업 프로세스의 COMMIT WORK 문으로 제어됨)
Background 시간에 따라 또는 이벤트에 따라 제어되는 백그라운드 작업을 실행합니다. > 배치나 백그라운드 작업
Enqueue 잠금 작업을 실행합니다(SAP 트랜잭션이 자체적으로 동기화되어야 하는 경우).
Spool 인쇄 형식(프린터, 파일 또는 데이터베이스)

 

 

SM50

 

결론

길게 서술했지만 3 Tier 구조와 SAP 메모리 Mnt가 어디영역인지, WP가 뭔지 짚고 넘어가도 된다.

 

 

참고:

https://www.guru99.com/learning-sap-architecture.html

https://itsiti.com/smms-sap-message-server-monitor/

https://www.quora.com/What-is-the-difference-between-SAP-ERP-SAP-NetWeaver-and-S-4-Hana