[트러블 슈팅] 회원 600명 부하테스트 진행하기 with K6
·
프로젝트/트러블슈팅
시험기간은 2주 하루에 예약 수용 가능한 인원은 최대 600 여 명오전 8시에 예약이 오픈됩니다. 모든 스터디룸은 시험기간인 이유로 개인석 단위로 예약이 진행됩니다.이전 스터디룸을 오픈 톡방을 통해서 예약을 진행했었는데 150명 가량 신청했던 기억이 있습니다.모든 시간대를 동시다발적으로 예약한다면 저희 프로젝트의 WAS는 부하를 버틸 수 있는지 테스트를 해야합니다.하루에 예약이 가능한 인원은 방 별로 SQL 문으로 확인해보니 아래와 같았습니다.아래 데이터에 따르면 600여명이 예약이 가능합니다. 과연 우리 서버는 모든 인원을 수용할 수 있을까라는 의문이 들었습니다.SELECT room_number, SUM(capacity)FROM scheduleGROUP BY room_number+-----------+..
[트러블 슈팅] 외부에서의 redis 접근으로 인한 복제 노드로 변환되는 문제
·
프로젝트/트러블슈팅
문제 및 원인Caused by: io.lettuce.core.RedisReadOnlyException: READONLY You can't write against a read only replica. at io.lettuce.core.internal.ExceptionFactory.createExecutionException(ExceptionFactory.java:144)서버 에러가 발생하였습니다. redis의 노드가 복제로 인해서 readonly로 바뀌었다는 로그를 확인할 수 있었습니다.저희 시스템은 redis를 refresh token을 저장하는 용도로 사용하고 있습니다. redis에 쓰기 접근이 안되기에 로그인이 불가한 상황이었습니다.더군다나 저희는 복제를 활용하는 sentinel이나 클러스터 ..
[프로그래머스][Python] 문자열 압축
·
코드트리
https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드def solution(s): answer = 1000 length = len(s) if length == 1: return 1 for num in range(1, len(s)): total = length % num time = length // num idx = 0 cnt = 1 word = "" while idx ..
[프로그래머스][Python] 주차 요금 계산
·
코드트리
https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드IN = "IN"OUT = "OUT"day_to_minute = "23:59"def solution(fees, records): answer = [] basic_time, basic_fee, per_time, per_fee = fees total_time_record = dict() in_out_record = dict() def clock_to_minute(clock): h, m = map(i..
[프로그래머스 SQL] 조건에 맞는 개발자 찾기
·
프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/276034 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드SELECT DISTINCT D.ID, D.EMAIL, D.FIRST_NAME, D.LAST_NAMEFROM SKILLCODES S JOIN DEVELOPERS D ON (S.CODE & D.SKILL_CODE) = S.CODEWHERE S.NAME IN ('Python', 'C#')ORDER BY D.ID 쿼리 실행 순서JOIN → FROM → WHERE → SELECT → ORDER BY로 진행됩니다.특정 스킬이 개발자의 스킬코드 안에..
[프로그래머스 SQL] 이름에 el이 들어가는 동물 찾기
·
프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/59047 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드SELECT ANIMAL_ID, NAMEFROM ANIMAL_INSWHERE ANIMAL_TYPE = 'Dog' AND NAME LIKE '%el%' ORDER BY NAME 쿼리 실행 순서FROM → WHERE → SELECT → OREDER BY
[프로그래머스 SQL] 멸종위기의 대장균 찾기
·
프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/301651 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드WITH RECURSIVE ECOLI_HIERACHY AS ( SELECT ID, PARENT_ID, 1 AS GENERATION FROM ECOLI_DATA WHERE PARENT_ID IS NULL UNION ALL SELECT E.ID AS ID, EH.ID AS PARENT_ID, EH.GENERATION + 1 AS GENERATION FROM ECOLI_HIERACHY EH JOIN ECO..
[회고] 2025년 3월 18일
·
회고
2025년 3월 18일 회고 지속적으로 발생하는 레디스 오류. 오늘도 어김없이 오류가 발생했다. 취업준비를 하느라 Redis의 재시동만으로 해결하고 있었는데 자꾸 반복되는 오류.. 그만 취준 탓하고 직접 해결해보기로 했다. 이 문제를 해결하기 위해서 문제원인을 찾고 수정하는데만 3시간이 걸렸다. 트러블 슈팅을 하는 내내 나의 개발 능력에 대한 의구심이 들었다. 이 문제를 해결하기 위해서 GPT와 구글링을 내내 하고 있는 내 자신을 보면서 나는 이렇게나 의존적인 개발자인가라는 생각이 들었다. 물론 구글링 안하는 개발자가 얼마나 되겠는가라는 생각이 들었지만 자괴감도 들었고 원인을 파악하지 못하는 내 자신이 한심했다. 결과적으로는 Redis의 비밀번호가 없이 설정되어서 외부의 접근이 가능했는데 복제 명령어인 ..
개발자 성현
'분류 전체보기' 카테고리의 글 목록 (6 Page)