Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Chore] 동기 지연테스트 #31

Merged
merged 3 commits into from
Aug 23, 2024
Merged

[Chore] 동기 지연테스트 #31

merged 3 commits into from
Aug 23, 2024

Conversation

eckrin
Copy link
Collaborator

@eckrin eckrin commented Aug 23, 2024

🎯 이슈 번호

Issue #20

💡 작업 내용

  • flag vs non-flag, sync vs async 비교 테스트
  • 지연 테스트 (3만명 기준 15ms 지연)

💡 자세한 설명

논블로킹 비동기에서는 작업 처리에 여러개의 스레드를 사용하니까 컨텍스트 스위칭이 지속적으로 자주 발생하고, 블로킹 동기에서는 I/O작업과 같이 실행시간이 긴 경우에만 cpu의 short term scheduler에 의해서만 컨텍스트 스위칭이 발생하므로 발생 주기가 훨씬 적다.

  1. 쌩으로 돌렸다 -> 뒤쪽에서 성능저하
  2. flag 추가 -> 뒤쪽에서 성능 일정하게 유지
  3. 성능향상을 위해 async 추가 -> 근데 왜 성능이 떨어지지?
  4. 비동기 스레드풀 문젠가? -> 스레드풀 크기 증가 -> 근데도 성능은 똑같네?
  5. 지연을 주어서 작업 cost 증가시킴 -> 앞단에서 처리하는부분은 sync대비 성능 증가, 뒤쪽에서 flag로 처리하는부분은 sync대비 성능 감소 -> 아 redis로 하는 작업이 무겁지 않구나

✅ 셀프 체크리스트

  • PR 제목을 형식에 맞게 작성했나요?
  • 브랜치 전략에 맞는 브랜치에 PR을 올리고 있나요? (master/main이 아닙니다.)
  • Reviewers, Labels, Projects를 등록했나요?
  • 작업 도중 문서 수정이 필요한 경우 잘 수정했나요?
  • 테스트는 잘 통과했나요?
  • 불필요한 코드는 제거했나요?

@eckrin eckrin added enhancement New feature or request test various tests labels Aug 23, 2024
@eckrin eckrin self-assigned this Aug 23, 2024
@eckrin eckrin merged commit a2ac1da into master Aug 23, 2024
1 check passed
@eckrin eckrin deleted the chore/arrival-test branch August 23, 2024 02:15
Copy link
Collaborator

@luna156 luna156 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

테스트 기록이군요. 좋습니당

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request test various tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants