inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

Redis를 적용했음에도 불구하고 조회 성능의 큰 차이가 없고 오히려 더 안좋은 조회속도를 보이는 것 같습니다.

미해결

비전공자도 이해할 수 있는 Redis 입문/실전 (조회 성능 최적화편)

간단한 영화 목록 조회입니다. 총 약 10000개의 데이터가 있습니다. redis를 적용하고 조회성능이 좋아진것은 맞지만 이상하게 redis를 적용하기 전에도 같은 조회를 계속해도 조회속도가 똑같이 빨라지는 현상을 겪고있습니다. 현재 이 movie는 MSA 의 여러 서비스 중 하나입니다. 혹시 MSA 아키텍쳐 자체가 문제가 될 수도 있나요? @Cacheable(cacheNames = "getMovies", key = "'movie:all'", cacheManager = "movieCacheManager") public List<Movie> getAllMovies() { return movieRepository.findAll(); } @GetMapping("/movies") public ResponseEntity<List<MovieDto>> getAllMovies() { List<Movie> allMovies = movieService.getAllMovies(); List<MovieDto> dtos = new ArrayList<>(); for (Movie movie : allMovies) { dtos.add(new ModelMapper().map(movie, MovieDto.class)); } return ResponseEntity.status(HttpStatus.OK).body(dtos); } @Configuration @EnableCaching // Spring Boot의 캐싱 설정을 활성화 public class RedisCacheConfig { @Bean public CacheManager movieCacheManager(RedisConnectionFactory redisConnectionFactory) { RedisCacheConfiguration redisCacheConfiguration = RedisCacheConfiguration .defaultCacheConfig() // Redis에 Key를 저장할 때 String으로 직렬화(변환)해서 저장 .serializeKeysWith( RedisSerializationContext.SerializationPair.fromSerializer( new StringRedisSerializer())) // Redis에 Value를 저장할 때 Json으로 직렬화(변환)해서 저장 .serializeValuesWith( RedisSerializationContext.SerializationPair.fromSerializer( new GenericJackson2JsonRedisSerializer() ) ) // 데이터의 만료기간(TTL) 설정(1분) .entryTtl(Duration.ofMinutes(1L)); return RedisCacheManager .RedisCacheManagerBuilder .fromConnectionFactory(redisConnectionFactory) .cacheDefaults(redisCacheConfiguration) .build(); } } @Configuration public class RedisConfig { @Value("${spring.data.redis.host}") private String host; @Value("${spring.data.redis.port}") private int port; @Bean public LettuceConnectionFactory redisConnectionFactory() { return new LettuceConnectionFactory(new RedisStandaloneConfiguration(host, port)); } }

  • redis
  • nosql
  • query-tuning
  • performance-tuning
이수현 댓글 3 좋아요 0 조회수 176

mem_used_percent 지표가 없는 경우가 있을까요?

미해결

대규모 트래픽 처리를 위한 부하테스트 입문/실전

안녕하세요 강의 잘 보고 있습니다. 다름이 아니라, 해당 강의와 다르게 Ec2에서 mem_used_percent가 안보이는데 원인이 있을까요? 아래 사진은 제 ec2 설정입니다

  • infrastructure
  • k6
  • performance-test
  • performance-tuning
blackhole124 댓글 2 좋아요 0 조회수 148

Elastic Cache 에러

미해결

비전공자도 이해할 수 있는 Redis 입문/실전 (조회 성능 최적화편)

at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) ~[spring-boot-devtools-3.5.3.jar:3.5.3] Caused by: org.springframework.data.redis.listener.adapter.RedisListenerExecutionFailedException: org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis at org.springframework.data.redis.listener.RedisMessageListenerContainer.lazyListen(RedisMessageListenerContainer.java:383) ~[spring-data-redis-3.5.1.jar:3.5.1] at org.springframework.data.redis.listener.RedisMessageListenerContainer.start(RedisMessageListenerContainer.java:361) ~[spring-data-redis-3.5.1.jar:3.5.1] at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:405) ~[spring-context-6.2.8.jar:6.2.8] ... 19 common frames omitted Caused by: org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$ExceptionTranslatingConnectionProvider.translateException(LettuceConnectionFactory.java:1858) ~[spring-data-redis-3.5.1.jar:3.5.1] at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$ExceptionTranslatingConnectionProvider.getConnection(LettuceConnectionFactory.java:1789) ~[spring-data-redis-3.5.1.jar:3.5.1] at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$SharedConnection.getNativeConnection(LettuceC Redis 에러 (백엔드 에러는 이렇게 뜨고) 프론트 엔드 (로그인 하고 들어가는 거 잘됩니다. 채팅만 치면 저렇게 뜹니다.) EC2에서 redis 접속은 잘 됩니다. 프론트는 S3+cloudfront (도메인 적용 안함) 백엔드는 Redis(Elastic) + EC2+RDS +nginx 로 배포했고 몇시간 쨰 하는데 저 에러가 뜹니다. 혹시 프론트 배포가 잘 못 된건가요? 강사님 도와주세여ㅠㅠㅠ

  • redis
  • nosql
  • query-tuning
  • performance-tuning
KMC 댓글 2 좋아요 0 조회수 106

Elastic

미해결

비전공자도 이해할 수 있는 Redis 입문/실전 (조회 성능 최적화편)

Caused by: org.springframework.data.redis.listener.adapter.RedisListenerExecutionFailedException: org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis at org.springframework.data.redis.listener.RedisMessageListenerContainer.lazyListen(RedisMessageListenerContainer.java:383) ~[spring-data-redis-3.5.1.jar:3.5.1] at org.springframework.data.redis.listener.RedisMessageListenerContainer.start(RedisMessageListenerContainer.java:361) ~[spring-data-redis-3.5.1.jar:3.5.1] at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:405) ~[spring-context-6.2.8.jar:6.2.8] ... 19 common frames omitted Caused by: org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$ExceptionTranslatingConnectionProvider.translateException(LettuceConnectionFactory.java:1858) ~[spring-data-redis-3.5.1.jar:3.5.1] at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$ExceptionTranslatingConnectionProvider.getConnection(LettuceConnectionFactory.java:1789) ~[spring-data-redis-3.5.1.jar:3.5.1] at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$SharedConnection.getNativeConnection(LettuceConnectionFactory.java:1586) ~[spring-data-redis-3.5.1.jar:3.5.1] at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory$SharedConnection.lambda$getConnection$0(LettuceConnectionFactory.java:1566) ~[spring-data-redis-3.5.1.jar:3.5.1] at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory.doInLock(LettuceConnectionFactory.java:1527) ~[spring-data-redis-3.5.1.jar:3.5.1] 위에꺼는 백엔드 서버 에러이고 밑에는 프론트엔드 서버 에러입니다. 안녕하세요 강사님 채팅 서버와 프론트를 배포를 해서 Elastic Cache를 이용을 하고 있는데 EC2 랑 연결이 잘 되어 있으면서도 이런 에러가 뜹니다. 아무리 찾아봐도 더 해결사항이 보이지 않아 질문드립니다.

  • redis
  • nosql
  • query-tuning
  • performance-tuning
댓글 2 좋아요 0 조회수 102

AWS 리소스 삭제에 관하여

미해결

비전공자도 이해할 수 있는 Redis 입문/실전 (조회 성능 최적화편)

강의에서 사용한 리소스를 모두 삭제를 했습니다. 그러나 청구서에 여전히 비용이 조금씩 남아있는데 혹시 이건 제가 예전에 사용한 것이 아직 결제되지 않은 상태기 때문에 남아있는 것인가요? 분명히 모든 리소스를 삭제했음에도 불구하고 비용이 나가게 될까봐 걱정입니다.

  • redis
  • nosql
  • query-tuning
  • performance-tuning
이수현 댓글 2 좋아요 0 조회수 100

exist subquery limit1

미해결

JPA (ORM) 개발자를 위한 고성능 SQL (High-Performance SQL)

Not Exist subquery가 값이 존재하면 탐색을 중단하기 때문에 Exist subquery보다 효율적이라고 이해했는데, 그럼 Exist subquery에 limit 1을 넣어주면 더 효율적일까요?

  • sql
  • dbms/rdbms
  • performance-tuning
  • sql-query
신준섭 댓글 1 좋아요 0 조회수 79

ec2안에서 pull 받는 이유가 뭔가요 ?

미해결

비전공자도 이해할 수 있는 Redis 입문/실전 (조회 성능 최적화편)

ec2에서 깃을 그대로 풀받아서 ec2 안에서 jar를 생성 하는 이유가 따로 있나요 ? 소스코드를 내려받게 되는데 필요하지 않은 용량을 사용하고 소스파일이 서버에서 관리되는 느낌이라서요

  • redis
  • nosql
  • query-tuning
  • performance-tuning
  • git
lim_hook 댓글 2 좋아요 0 조회수 108

Nest.js + Redis 구현 문제

해결됨

비전공자도 이해할 수 있는 Redis 입문/실전 (조회 성능 최적화편)

안녕하세요 레디스 강의를 재미있게 수강하고 있는데요 문제가 있어서 여러가지 찾아보았지만 잘 해결이 되지 않아서 여기에 문의 남깁니다 import { Module } from '@nestjs/common'; import { BoardController } from './board.controller'; import { BoardService } from './board.service'; import { TypeOrmModule } from '@nestjs/typeorm'; import { Board } from './board.entity'; import { CacheModule } from '@nestjs/cache-manager'; import * as redisStore from 'cache-manager-ioredis'; @Module({ imports: [ TypeOrmModule.forRoot({ type: 'mysql', host: 'localhost', port: 3306, username: '', // 임시로 삭제 password: '', // 임시로 삭제 database: 'mydb', autoLoadEntities: true, synchronize: true, // Note: set to false in production }), TypeOrmModule.forFeature([Board]), CacheModule.register({ store: redisStore, host: 'localhost', port: 6379, ttl: 60, }), ], controllers: [BoardController], providers: [BoardService], }) export class AppModule {} import { Inject, Injectable } from '@nestjs/common'; import { Board } from './board.entity'; import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; import { CACHE_MANAGER, Cache } from '@nestjs/cache-manager'; @Injectable() export class BoardService { constructor( @InjectRepository(Board) private boardRepository: Repository<Board>, @Inject(CACHE_MANAGER) private cacheManager: Cache, ) {} async getBoards(page: number, size: number): Promise<Board[]> { const cacheKey = `boards:page:${page}:size:${size}`; const cachedData = await this.cacheManager.get<Board[]>(cacheKey); if (cachedData) { return cachedData; } const skip = (page - 1 ) * size; const boards = await this.boardRepository.find({ order : {created_at: 'desc'}, skip: skip, take: size, }); await this.cacheManager.set(cacheKey, boards); const cachedData3 = await this.cacheManager.get(cacheKey); console.log('stores:', this.cacheManager.stores); console.log('stores 타입:', typeof this.cacheManager.stores); console.log('stores 내용:', JSON.stringify(this.cacheManager.stores, null, 2)) return boards; } } 현재 이렇게 2개의 파일을 레디스 적용하기 위해서 작성을 하였는데요 레디스에서 검색을 하면 정상적으로 조회가 되지 않습니다(mysql에서 가지고 온 데이터는 정상적으로 조회가 됩니다) 그래서 중간에 로그도 찍어보았는데 레디스가 아니라 keyv 여기에 저장이 되는거 같습니다 왜 그런지 원인을 알고 싶습니다 참고로 레디스 cli, 서버는 정상적으로 동작 중 입니다 이유는 스프링으로 레디스 연동은 정상적으로 잘 됩니다

  • redis
  • nosql
  • query-tuning
  • performance-tuning
우주인 댓글 3 좋아요 0 조회수 716

데이터를 안가져와요

미해결

비전공자도 이해할 수 있는 Redis 입문/실전 (조회 성능 최적화편)

똑같이 해서 돌렸는데 데이터가 안보여서 로그 찍어 봤어요 컨트롤러에서 page 파라미터는 불러오는데 size 값만 안불러와요

  • redis
  • nosql
  • query-tuning
  • performance-tuning
이직이직 댓글 2 좋아요 0 조회수 101

소스코드 DB 세팅 가이드가 필요합니다.

미해결

JPA (ORM) 개발자를 위한 고성능 SQL (High-Performance SQL)

소스코드 너무 감사합니다. 근데 돌려도 동작이 안되기 때문에 DB 세팅 가이드 같은게 있으면 좋겠네요. 강의 내용은 좋은데 ..

  • sql
  • dbms/rdbms
  • performance-tuning
  • sql-query
ㅇㅁㄴㅁㄴㅊ 댓글 2 좋아요 0 조회수 258

Spring Boot 프로젝트에 Redis 셋팅 추가하기에서 13분 질문있습니다.

미해결

비전공자도 이해할 수 있는 Redis 입문/실전 (조회 성능 최적화편)

Spring Boot 프로젝트에 Redis 셋팅 추가하기에서 13분에서요. 스프링부트 종료하고 다시 사작한 화면에서 cmd에서 cash * 누르면 캐시가 없던데 캐시는 휘발성인가요?

  • redis
  • nosql
  • query-tuning
  • performance-tuning
zzzzz 댓글 2 좋아요 0 조회수 215

레디스 환경 셋팅 질문있습니다.

미해결

비전공자도 이해할 수 있는 Redis 입문/실전 (조회 성능 최적화편)

선생님 코드 복붙했는데 어느 부분이 틀린지 잘 모르겠습니다. class RedisCacheConfig 부분에서 RedisConnectionFactory redisConnectionFactory 이 부분이 에러가 나고 class BoardService애서 cacheManager = "boardCacheManager" 여기서도 에러가 납니다. 파일 첨부합니다.

  • redis
  • nosql
  • query-tuning
  • performance-tuning
zzzzz 댓글 2 좋아요 0 조회수 113

ec2 수평적 확장에 대하여

미해결

대규모 트래픽 처리를 위한 부하테스트 입문/실전

안녕하세요 강의 잘보고 있습니다. 해당 강의는 다 이해가 갔는데 만약에 로그인 유저일 경우에는 세션과 토큰을 사용했을 시 수평적 확장해도 자동으로 다 처리가 되나요 아님 따로 작업을 해야하나요?

  • infrastructure
  • k6
  • performance-test
  • performance-tuning
동동이 댓글 2 좋아요 0 조회수 146

엘라스틱 서치와 레디스의 차이점을 알고 싶습니다.

미해결

비전공자도 이해할 수 있는 Redis 입문/실전 (조회 성능 최적화편)

엘라스틱 서치와 레디스의 차이점을 알고 싶습니다. 그리고 강의 중에 엘라스틱 서치도 redis-cli로 접속하여 값을 볼수있는데. 이것은 왜 redis-cli 를 사용하는지도 알고 싶습니다.

  • redis
  • nosql
  • query-tuning
  • performance-tuning
네오스카이 댓글 2 좋아요 0 조회수 311

TPS 기준

미해결

대규모 트래픽 처리를 위한 부하테스트 입문/실전

안녕하세요 강의 잘 보고 있습니다. 저도 강의대로 실천해보니 3~4TPS가 나오는데 TPS가 얼마나 나와야 잘나오는지 기준을 잘 모르겠습니다. 데이터가 100만개가 있으면 원래 3TPS 정도가 나오는 건가요?

  • infrastructure
  • k6
  • performance-test
  • performance-tuning
동동이 댓글 2 좋아요 0 조회수 538

-parameters

미해결

비전공자도 이해할 수 있는 Redis 입문/실전 (조회 성능 최적화편)

http://localhost:8080/boards 로 접근시 해당 에러가 발생합니다

  • redis
  • nosql
  • query-tuning
  • performance-tuning
Cola 댓글 2 좋아요 0 조회수 161

섹션2 - [실습] EC2에 백엔드 서버(Spring Boot) 셋팅하기

미해결

대규모 트래픽 처리를 위한 부하테스트 입문/실전

jar 파일을 실행하려 명령어를 입력하면 한참동안 아무 동작을 하지 않아 문의드립니다. 다음으로 넘어가지 않아 실습 진행이 어려운데 원래 이렇게 많이 걸리는 걸까요,,?

  • infrastructure
  • k6
  • performance-test
  • performance-tuning
Sum 댓글 2 좋아요 0 조회수 170

성능테스트하기 애매한 API의 경우 진행 방법이 궁금합니다.

미해결

대규모 트래픽 처리를 위한 부하테스트 입문/실전

안녕하세요, 좋은 강의제공 감사드립니다! 강의 듣다가 실무적용할때 궁금한점이 있어서 질문남겨봅니다. 결제와 같이 성능테스트 대상으로 삼기 애매한 API에 대한 테스트 방법이 궁금합니다. api 호출 시 결제가 이루어진다거나 타 제휴사 api 를 친다거나 하는 경우 성능테스트를 진행해버리면 문제가 생기지 않을까 싶은데요, 이런경우에는 보통 어떻게 성능테스트를 진행하고 병목구간을 찾아야 할까요? 감사합니다:D

  • infrastructure
  • k6
  • performance-test
  • performance-tuning
Chung A 댓글 2 좋아요 0 조회수 231

개인 프로젝트 시 top 입력 시 해석 도움 요청

미해결

대규모 트래픽 처리를 위한 부하테스트 입문/실전

강사님 안녕하세요. 강사님 덕분에 배운대로 잘 사용하고 있습니다. 그중 제가 해석이 강사님과 다른 지점이 있어서 질문을 남깁니다. 강사님은 CPU코어가 2개여서 Max 200%까지 된다고 했는데 저는 1:1 비율로 사진과 똑같더라고요. 다른 점은 강사님은 EC2 설계 시 T3.small을 저는 t2를 선택했는데 그것에 따라 다른 것일까요? 아님 저는 node인데 강사님은 java여서 그에 대한 차이일까요?

  • infrastructure
  • k6
  • performance-test
  • performance-tuning
송사무엘 댓글 2 좋아요 0 조회수 170

sudo nohup java -jar jscode-0.0.1-SNAPSHOT.jar & 설치 오류?

미해결

대규모 트래픽 처리를 위한 부하테스트 입문/실전

사진과 같이 강사님과 똑같이 그리고 제공해준 실습 자료를 복사 붙여넣기하면서 따라하고 있는데 저기 sudo nohup java -jar jscode-0.0.1-SNAPSHOT.jar & 설치에서 강사님은 엔터를치면 ip를 확인할 수 있는 코드를 치면 나오는데 저는 exit 1 등이 뜨면서 설치가 안됩니다. 제가 잘못한 것이 있나요? node 유저라서 자바는 잘 모릅니다.

  • infrastructure
  • k6
  • performance-test
  • performance-tuning
송사무엘 댓글 3 좋아요 0 조회수 180

인기 태그

인프런 TOP Writers

주간 인기글