묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실전! Redis 활용
Rate Limiter 예제에 대해 질문있습니다!
Rate Limiter 강의 그림으로 된 예제에 대해 질문있습니다!트랜젝션 시작을 알리는 "MULTI" 명령어 이후 "EXPIRE 1.1.1.1:10 60 / EXEC" 코드가 있습니다! 제가 잘못 이해한 걸 수도 있지만, 이렇게 하면 요청마다 만료 시간이 다시 1분으로 초기화되는 것이 아닌지 궁금합니다. 그러면 1분 안에 요청 수를 제한하는 것이 아니라 1분 안에 요청이 없으면 만료되는 형식이 될 것 같은데 제가 생각한 것이 맞을까요?
-
미해결실전! Redis 활용
Bitmap - User Online Status(온라인 상태 표시)에 질문 드립니다.
사용자가 온라인 된 경우 1로 bit를 업데이트 하고이후에 통신이 되지 않으면 비트값이 추가로 업데이트 되지 않는다 설명하셨는데그 사이에 어떤 동작으로 통신이 되지 않는지 여부를 확인하는지, 비트는 어떻게 처리되는지에 대한 설명이 없어 이해가 어렵네요.매 분마다 요청이 온다는 가정하에 비트값을 매분마다 1씩 업데이트 하는데, 해당 요청이 없어서 비트값이 더 이상 업데이트 하지 않게 되면, 해당 시간만큼 오프라인 상태였다이 시나리오가 맞을까요?그렇다면 서버에서 임의의 시간, 예시로 3분 이상 미 접속시 오프라인이라 평가하여 커뮤니티 웹, 온라인 게임이나 채팅 등의 사용자의 온라인 여부가 필요한 서비스에서 해당 값을 참고하여 특정 시간에서 부터 bit 증가가 없다면 오프라인이라 평가하게 된다고 보면 될까요?그런데 이렇게 하면 시:분으로 시작하는 key로 부터 bit는 접속하게 되는 분 단위가 되는거고, 다른 사용자가 이 사용자의 온라인 상태를 알고자 한다면, 현재 시간에서 key와 bit를 연산한 시간을 비교해야 온라인인지 여부를 알 수 있게 되는건데 제가 이해하고 있는게 맞는지 알고 싶습니다.
-
미해결실전! Redis 활용
Hash - Login Session(로그인 세션)에 대해 질문 드립니다.
해당 클래스의 주된 내용은 동시 로그인 제한으로 이해를 했습니다.그런데 설명을 해주시는 부분에 있어서 set-cookie 부분에서 부터 이해가 잘 되지 않네요.먼저 설명 부분에 있어서set-cookie로 session id를 보내고갑자기 결제가 필요한 유료 api에 접근을 요청하고redis의 캐시에서 해당 유저가 프리미엄 등급임을 확인하고유료 api 요청을 처리한다 하셨는데동시 로그인 제한이라면 pc나 모바일 등 여러 장비에서 접속하는 session의 처리를 의미하는거라 생각이 됩니다.그리고 redis의 캐시로 프리미엄 등급을 확인한다는것도 이해가 되지 않는게 해당 데이터는 캐시로 다뤄질 데이터가 아니지 않나요?초반 설명하셨던 동시 로그인 제한이란 소주제의 목적이다이어그램을 통해 설명한 내용과 다른것 같습니다.혹시 제가 이해한게 잘못된 것인지 알고 싶습니다.n(로그인 세션)
-
해결됨실전! Redis 활용
String - Fixed Window Rate Limiter(비율 계산기) 에 질문 드립니다.
1.1.1.1:10 으로 key가 만들어 졌을 때, 만료가 11분이 되는건가요?설명에는 10분에서 11분까지로 알려주시던데20이라는 요청 제한 수는 프로그램에서 관리하는 수가 되는거죠?다이어 그림에 expire 1.1.1.1:10 60 / exec 의 의미는 무엇인가요?
-
미해결실전! Redis 활용
Sorted Sets에 대해 질문 합니다.
ZRANGE points 0 -1 REV WITHSCORES위 명령어를 입력하면 ERR syntax error가 발생합니다.gpt로 확인하니 ZREVRANGE points 0 -1 WITHSCORES를 제시해주고결과도 역순으로 출력이 됩니다.rev 지원이 안되는거 같은데 버전의 차이 등의 이슈가 있는 것인지 알고 싶습니다.
-
해결됨실전! Redis 활용
데이터 타입 활용 - 온라인 상태 표시 [Bitmap] 관련 질문
안녕하세요. 강의를 잘 보고 있는 와중에 온라인 상태 표시 관련한 궁금증이 생겨서 질문을 남기게 됐습니다. (※ 다른 분이 남겨주신 온라인 상태 표시 질문 글도 읽었습니다.) Bitamps의 장점은 하나의 key에서 offset을 사용하여 값을 비트별로 나눠서 읽고 쓰기 때문에 적은 메모리와 빠른 비트 연산을 제공한다고 생각이 되는데요.올려주신 예시를 보면 key는 계속해서 바뀌고 있고, offset도 전혀 사용하지 않는 것 같습니다.해당 상황에서도 일반적인 Strings 대신에 Bitamps를 쓰신 특별한 이유가 있는지 궁금합니다.
-
미해결백엔드 개발자 성능 개선 초석 다지기
nGrinder validate가 안됩니다.
다른 질문을 보니 www.nate.com으로 시도해보라하여 했지만 똑같이 되지 않습니다. Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: General error during conversion: Unsupported class file major version 61 java.lang.IllegalArgumentException: Unsupported class file major version 61 Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: General error during conversion: Unsupported class file major version 61 java.lang.IllegalArgumentException: Unsupported class file major version 61
-
미해결Arm 아키텍처: 캐시(Cache) [저자직강 3부-4]
캐시의 친화적인 코드
안녕하세요, 선생님 시스템 소프트웨어의 개발의 모든 것 강의에 이어서 이번 강의도 정말 잘 보았습니다. 강의 내용과, 강의 소개란에 보면"둘째, 캐시의 구조를 잘 알면 캐시 히트를 활용한 캐시의 친화적인 코드를 작성할 수 있습니다. 예를 들어, 자주 사용되는 루틴은 특정 CPU 코어에서만 실행되도록 설계할 수 있습니다." 라는 문구가 잘 이해가 안되어 질문 드립니다.실무에서 어떤 상황에 캐시 친하적인 코드를 실제로 작성하게 되는지, 자주 사용되는 루틴은 어떤 것이 있고 어떤 업무(?)를 주로 맡았을 때 저런 개발을 하게 되는지 궁금합니다.가능하시다면 조금 더 구체적인 사례를 선생님께 듣고 싶습니다.미리 감사드립니다
-
미해결백엔드 개발자 성능 개선 초석 다지기
EhCacheManagerFactoryBean
그레이들 추가후 EhCacheConfig 만들때 EhCacheManagerFactoryBean를 죽어도 못찼네요(Cannot resolve symbol 'EhCacheManagerFactoryBean')invalicache , rebuild , clean build 등등 해봤지만 소용이 없는데 혹시 다른데 더 체크해야할 부분이 있을까요??
-
미해결백엔드 개발자 성능 개선 초석 다지기
인텔리제이 EditConfiguration 옵션 추가하는 방법 [ 공유O 질문X ]
혹시나 저처럼 약간 헤매는 분들 계실까 싶어 남깁니다.스카우트 모니터링 TOOL 설치(2)에서 옵션 추가하는 방법이 Editconfiguration 들어간 다음에modify options 클릭 하고 나오는 리스트에서 Add VM Options 누르시면 옵션 추가할 수 있는 칸이 하나 나옵니다.그 곳에 노션에 있는 아래 옵션 추가해주시면 됩니다.-javaagent:/Users/..생략../study/util/scouter/agent.java/scouter.agent.jar -Dscouter.config/Users/jo-eunho/Documents/eunho/study/util/scouter/server/conf/scouter.conf -Dobj_name=demoTomcat --add-opens java.base/java.lang=ALL-UNNAMED
-
해결됨실전! Redis 활용
ec2 내 Redis 잘못된 host 연결
문제는 이렇습니다.prodRedisUrl = redis://:password@ec2프라이빗ip:6379/0로 url을 보냅니다.그리고 ec2 내 redis bind를 ec2 프라이빗 Ip로 설정하고, 리스닝 하고 있는 상태입니다.그러면 정상적이라면, 서버가 배포 됐을 때 prodRedisUrl로 redis와의 연결이 성공적으로 연결 됩니다.근데 어이없는 문제가 발생합니다요청하지도 않은 localhost로 redis서버에 연결하려고 하는 것입니다.그래서 시나리오를 세워서 반대로 테스트를 해봤습니다 !!!!prodRedisUrl = redis://:password@127.0.0.1:6379/0로 하고, 일부러 로컬호스트를 보내 봤습니다. 물론 ec2 내 redis.conf의 bind를 수정 했습니다. bind 127.0.0.1테스트 해봤더니 127.0.0.1로 접속은 완료 됐지만이제는 반대로 ec2 프라이빗 Ip로 연결을 요청해서 실패하네요 ㅋㅋㅋㅋㅋ도대체 요청하지도 않은 ec2에서 그리고 알지도 못하는 프라이빗 ip로 redis서버에 접속하려는걸까요??????----------------------------------------즉, 정리하자면 요청하지도 않은 host로 Redis서버에 접속한다 !! 입니다.로컬에서 테스트 할 때는 아무런 문제 없이 잘 작동하더니만 ec2에 배포하고 연결하려고 하니까 이 말썽입니다... 도저히 이해가 되지도 않고 원인 파악도 힘드네요,, =====추가적으로 redisurl 로그도 정상적으로 출력되고, 그리고 문자열로도 넣어봤지만 똑같은 증상이 발생했습니다.
-
미해결백엔드 개발자 성능 개선 초석 다지기
프로젝트 공유
혹시 프로젝트 공유는 안되는건가요???프로젝트는 따로 만들어서 해야되는건지.. 감사합니다
-
미해결백엔드 개발자 성능 개선 초석 다지기
scouter client
sudo spctl --master-disable 이 명령어로 해도 계속 이렇게 뜨는데 이건 무슨 문제인가요..? 스크립트 실행은 잘된거같은데..
-
미해결백엔드 개발자 성능 개선 초석 다지기
스카우터 설치
스카우터가 실행이 안되는데 java 버전문제인가요
-
미해결백엔드 개발자 성능 개선 초석 다지기
생각보다 부하 테스트가 CPU를 많이 타는거 같은데 정상이겠죠?
캐싱을 하면 성능이 잘 나온다는건 당연히 알고 있었지만 CPU를 상당히 많이 타긴 하는거 같네요 저도 2배 향상을 예상하고 돌렸는데 30%정도 성능 향상이 이루어지는 군요.운영 환경은 AWS에서 돌리니까 더 많은 도움이 될것 같습니다.
-
미해결백엔드 개발자 성능 개선 초석 다지기
로컬에서 성능 테스트하는 것이 어떨 때 유의미한가요?
안녕하세요. 강의 열심히 듣고 있는 학생입니다. 다름이 아니라 로컬에서 성능 테스트를 하는 것에 대한 제 생각이 합리적인지 모르겠어서 질문납깁니다! 부하 테스트는 실제 운영 중인 서버와 동일한 환경을 구축해 진행하여, 실제 서버를 운영하기에 부족한 부분을 찾아내는 것을 목표로 한다고 알고 있습니다. 때문에 로컬 서버에서 부하 테스트를 진행하는 것이 실제 서버가 얼마나 부하를 버티는지 확인하기는 어렵다고 생각합니다.또한, 실제 서버의 부하 테스트가 아니라, 강의처럼 여러 개의 로직에 대한 성능을 판별할 때는 각 로직에 대한 성능 테스트를 동일한 환경에서 진행한다면, 그 환경이 로컬 환경이라도 충분히 유의미하다고 생각합니다. 이러한 제 생각이 어떤 부분이 맞고 어떤 부분이 틀린지, 추가로 알아볼 아이디어는 무엇인지 궁금합니다!!
-
미해결백엔드 개발자 성능 개선 초석 다지기
nginder script작성 후 실행 후 Connection refused에러
로컬에서 프로젝트를 실행후, localhost:8080 대신 강의에서 알려준대로, (http://127.0.0.1:8080/api/dogs) 를 실행하면 위처럼 에러가 발생합니다. postman으로 실행시, 무리없이 api가 잘 실행이 되는데 nginder로 스크립트 작성 후 실행하면 위처럼 에러가 발생합니다. 어떻게 해야하나요?
-
해결됨백엔드 개발자 성능 개선 초석 다지기
scouter C드라이브 말고 다른 곳에서 실행 시 NoSuchFile 오류
강의 듣고 그대로 C:\Users\alsrb\바탕 화면\programing\study 디렉터리에 scouter-all-2.20.0.tar.gz압축해제하고 실행하니까 아래와 같은 에러가 발생했습니다. 상대경로 문제인 것 같은상대경로 문제인 것 같은데, 마땅한 해결법을 못찾던 와중 수업자료 참고 블로그를 보니 C드라이브 하위에 바로 위치시키라고 나와있길래 scouter 폴더를 c드라이브로 변경하니 실행되더군요.확인해보니 바탕화면 하위 디렉터리에 소속되면 실행이 안되는 것 같습니다.위 문제 원인 바탕화면 하위 디렉터리에서 실행되도록 할 수 있는 해결방법을 알고 싶습니다.
-
미해결백엔드 개발자 성능 개선 초석 다지기
java17환경에서 scouter 실행법 문의
java17에서 scouter를 구동할수있는 방법이 있을까요?server는 강제적으로 java11로 실행시켰지만인텔리제이 안에서 VM옵션을 넣어 에이전트와 함께 실행시키면 java.lang.IllegalArgumentException: Unsupported class file major version 61에러가나네요 ㅜㅜ서로 호환이 안맞나봅니다.. scouter는 무조건 java11환경에서만 구동해야하나요?
-
미해결백엔드 개발자 성능 개선 초석 다지기
첫번째 회사에서 서비스 회사로 이직하실때 준비
안녕하세요 강의 잘 듣고있습니다.다름이 아니라 혹시 첫번째 회사에서 서비스 회사로 이직하실때 어떤 준비를 하셨는지 알 수 있을까요?아무래도 서비스 -> 서비스 이직이 아니다 보니깐 어떤 준비를 하셨는지 궁금합니다.