block-quote 이 페이지에서chevron-down
copy 복사 chevron-down
모듈 4 [선택]: A2A 프로토콜 단계 2: 성능 문제 생성 Agent-to-Agent (A2A) 협업 기능을 평가하기 위해, 이제 실제와 같은 네트워크 성능 문제를 시뮬레이션합니다:
네트워크 재전송 문제 시뮬레이션 : 실제 성능 저하를 복제하기 위해 네트워크 인프라 내에서 TCP 재전송 문제를 생성합니다.
데이터베이스 트래픽 생성 : 네트워크 문제의 영향을 받을 실제와 같은 데이터베이스 워크로드 패턴을 생성합니다.
workshop-module-3 디렉토리 내의 create-performance-issue 폴더로 이동합니다:
복사 cd /workspace/workshop-module-3/agentcore-performance-agent/test-infra/create-performance-issue 네트워크 성능 문제 생성:
복사 chmod +x a2a_retransmission_issue_generator.py && \
python3 a2a_retransmission_issue_generator.py --action create --region us-east-1 chevron-right 🔍 이 스크립트는 무엇을 하나요?hashtag Reporting Server의 OS 레벨 TCP 설정을 SSM을 통해 변경하여 재전송 문제를 인위적으로 생성합니다:
CloudFormation 스택에서 Reporting Server 인스턴스 ID 조회
SSM SendCommand로 TCP 설정 변경:
TCP 버퍼 크기 축소 (net.core.rmem_max, net.core.wmem_max)
Window Scaling 비활성화 (net.ipv4.tcp_window_scaling=0)
Retransmission 최소화 (net.ipv4.tcp_retries2=3)
tc qdisc로 5% 패킷 손실 + 50ms 지연 추가
기존 설정을 /tmp/tcp_backup/에 백업 (복구용)
--action fix로 실행하면 백업에서 원래 설정을 복원합니다.
RDS 데이터베이스를 쿼리하는 트래픽 생성을 실행합니다:
chevron-right 🔍 이 스크립트는 무엇을 하나요?hashtag SSM을 통해 Reporting Server에서 RDS로 지속적인 MySQL 트래픽을 생성합니다:
CloudFormation 스택에서 Reporting Server 인스턴스 ID와 DB 엔드포인트 조회
SSM SendCommand로 Reporting Server에서 MySQL 쿼리 실행:
REPEAT(), 크로스 조인 등 대용량 쿼리로 TCP 버퍼 압박
--background 모드로 백그라운드 데몬 프로세스 실행
이 트래픽이 변조된 TCP 설정과 결합되어 CloudWatch Network Flow Monitor에서 재전송 메트릭을 유발합니다.
아래 명령어를 실행하여 Reporting Server에서 RDS 데이터베이스로의 샘플 쿼리가 성공적으로 실행되고 있는지 확인합니다:
ApplicationURL 조회
노트북의 새 브라우저에서 ApplicationURL 값을 붙여넣습니다. View Tickets 탭을 선택합니다. 생성된 지원 티켓을 확인할 수 있습니다:
코드 분석: 성능 문제 생성 스크립트
a2a_retransmission_issue_generator.py
TCP 재전송 문제를 인위적으로 생성하는 스크립트입니다:
스크립트는 OS 레벨 TCP 설정 을 변경하여 재전송 문제를 생성합니다:
continuous_database_traffic_generator.py
재전송이 Network Flow Monitor에서 감지되려면 지속적인 트래픽 이 필요합니다:
트래픽 경로: Reporting Server (TCP 문제 주입) → RDS Database
이 트래픽이 TCP 재전송을 유발하며, CloudWatch Network Flow Monitor에서 재전송 메트릭으로 관측됩니다.
이 단계가 완료되었습니다. 다음 단계로 진행하세요.