게시글
질문&답변
2024.04.05
java17환경에서 scouter 실행법 문의
안녕하세요. 이순용님! 우선은 강의와 동일 한 환경에서 진행을 부탁드리겠습니다. java17에서 진행하시는 분이 많은 것 같아 시간을 내서 java11 -> java17 환경에서 해보고 정리를 해보도록 하겠습니다. 감사합니다!
- 1
- 2
- 155
질문&답변
2024.04.05
nginder script작성 후 실행 후 Connection refused에러
안녕하세요. 우선 첨부해주신 자료(에러 코드)를 기반으로만 드릴수 있는 의견은 2가지입니다. (첨부해주신 자료로는 어떤 상황인지 어떤 테스트를 한 건지 알 수 없습니다.) error 메세지기반으로 구글링하여 원인 추적 ngrinder connection refused no further information 2.ngrinder에 문제인지 환경에 문제인지 확인해야 하는 대상 및 범위를 줄이기. 테스트 스크립트에서 http://127.0.0.1:8080/api/dogs 가 아닌 다른 페이지를 GET 방식으로 단순 호출해보기 ㄴex) http://www.nate.com 이렇게 다른 페이지를 호출하여 테스트하여 이슈가 없다면 ngrinder에 이슈는 아니니 개발한 어플리케이션 또는 개발환경내에서 원인 추적하기 식으로 접근 해보셔야 겠습니다. 반대로 다른 페이지등을 호출해봐도 계속 connection refused가 된다면 ngrinder 설치및 설정에 빠진부분이 있는지 체크해주세요. 감사합니다.
- 0
- 2
- 94
질문&답변
2024.04.05
로컬에서 성능 테스트하는 것이 어떨 때 유의미한가요?
안녕하세요. 의견 공유 감사합니다. 해당 질문의 경우 인터넷에 검색해도 원하는 결과가 나오지 않았을 거 같습니다. 그래서 제 의견도 공유를 드려 봅니다. " 로컬 서버에서 부하 테스트를 진행하는 것이 실제 서버가 얼마나 부하를 버티는지 확인하기는 어렵다고 생각합니다." ㄴ> 환경과 스펙 다른 로컬에서의 부하 테스트는 실제 운영 서비스에 서버에서 얼마나 부하를 견딜수 있을 지 판별이 어렵습니다. ㄴ> 이 강의 경우에는 before / after로 성능 개선을 했을 때 같은 부하를 줬을 때 어떤 변화가 있는지를 보고자 로컬에서 확인을 했습니다. " 동일한 환경에서 진행한다면, 그 환경이 로컬 환경이라도 충분히 유의미하다고 생각합니다." ㄴ> 동일한 환경을 가정하고 한다면 로컬 환경도 유의미 하다고 봅니다. ㄴ> 큰기능?중요한 기능?을 서비스 환경에 베포하기전에 원하는 기준치에 트래픽 및 부하를 처리할 수 있는지 확인하고자 서비스 환경과 동일하거나 차이가 거의 없는 개발,스테이징환경에서 부하테스트를 하고 정해놓은 기준치에 트래픽처리가 되는지(부하테스트) , 자원적으로 이슈는 없는지(모니터링 툴 활용) 확인 및 개선을 하고 서비스 환경에 배포를 하고 있습니다.
- 0
- 1
- 97
질문&답변
2024.04.04
scouter C드라이브 말고 다른 곳에서 실행 시 NoSuchFile 오류
안녕하세요. 민규님! 질문을 보고 디렉토리에 한글을 말씀 드릴라고 했는데 스스로 잘 해결하셨군요! 이 질문내용을 다른분도 하신적이 있어서 모두에게 공유드린 노션에 정리를 해놓도록 하겠습니다. 감사합니다!
- 0
- 2
- 76
질문&답변
2024.03.10
gradle
안녕하세요! 문수님! ehcache에 대한 gradle 부분 설정 코드 부분과 gradle 전체 설정 코드중에 어떤것에 해당되는 것일까요~?
- 0
- 2
- 111
질문&답변
2024.03.10
findNoticeByDates 실행 에러
안녕하세요. JongWon Kim님! 강의에 코드와 동일하게 테스트 한번 부탁드리겠습니다! 감사합니다! (groovy 코드는 따로 노션에 없어서 실습해보기 불편했을거 같아 노션에도 업데이트 해두었습니다! 참고부탁드립니다!) @Test public void test() { // API 호출을 위한 URL 및 파라미터 설정 String apiUrl = " http://127.0.0.1:8080/api/notices/dates "; Map params = new HashMap (); params.put("startDate", "2023-01-15 00:00:00"); params.put("endDate", "2023-02-12 23:59:59"); // HTTP 요청 및 응답 획득 HTTPResponse response = request.GET(apiUrl, params); if (response.statusCode == 301 || response.statusCode == 302) { grinder.logger.warn("Warning. The response may not be correct. The response code was {}.", response.statusCode) } else { assertThat(response.statusCode, is(200)) } }
- 1
- 2
- 80
질문&답변
2024.03.07
5000건에 대한 부하테스트 중 5000건 관련
안녕하세요. 도현님! 강의에는 5000건을 이야기 하였는데 코드에는 1000으로 되어 있어 혼선을 드린거 같습니다. 코드는 수정해두었습니다. (참고차 해당 강의는 notice 테이블에 6만건에 데이터를 수동으로 넣어 진행했습니다. limit 1000 limit 5000 등 자유롭변경해서 테스트해셔도 됩니다! 강의자료에 더미데이터 파일 업로드 하였습니다.) 감사합니다!
- 0
- 1
- 111
질문&답변
2024.03.07
비동기 방식시 주의사항 관련해서 (Common Pool)
안녕하세요. 도현님! common pool을 사용하면 안되는 이유는 노션에 설명이 되어 있습니다. thread pool을 사용시 차이점 자세히 정리를 해두는게 다른 수강생분들에게 도움이 될 거 같아 시간을 확보해서 업데이트 하도록 하겠습니다. 감사합니다!
- 0
- 1
- 124
질문&답변
2024.03.07
DB 데이터 부탁드립니다.
안녕하세요 ~ 호민님! 더미 데이터 파일 첨부해두었습니다! 참고부탁드립니다! 섹션 0. 수업을 시작하기 전에 인사말! -> "강의자료" -> study_db_notice.sql 파일을 첨부 해두었습니다.
- 1
- 2
- 184
질문&답변
2024.03.06
왜 인덱스를 타지 않는걸까요?
안녕하세요. 반갑습니다! 호민님. 강의와 동일하게 실습을 하였는데 인덱스를 추가 하였지만 인덱스를 타지 않는 상황에 대해 궁금하여 질문하신거 같습니다. [답변] 우선 질문에 대해 답변을 드리면 인덱스를 추가를 한다고 항상 인덱스를 타지 않습니다. 데이터베이스 엔진이 판단하기에 인덱스를 타는 비용보다 풀스캔이 더 효율적인 경우는 풀스캔을 선택합니다. 현재는 notice 테이블에 데이터가 적은 경우에 풀 스캔을 타는것으로 보입니다. 참고차 좀 더 부가 설명을 드리자면. 물론, 데이터베이스 엔진에 판단 항상 무조건 맞다는 아니기 때문에. 실무에서 힌트라는 기능 을 통해 강제로 원하는 인덱스를 타도록 하여 슬로우 쿼리를 개선한 케이스도 있었습니다. [보완] 다른 수강분들도 같은 궁금이 생기면 해소할 수 있도록 2024년 3월 안으로 index 파트에 보완 강의를 업로드 하도록 하겠습니다. 감사합니다!
- 0
- 2
- 215