Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Redis on AWS

  • Sé el primero en comentar

Redis on AWS

  1. 1. Redis on AWS 내 Redis가 왜 AWS 느리다고 느껴질까? charsyam@naver.com
  2. 2. 발표자 소개 • 강대명 • 카카오스토리 개발 • 잉엽니다. • Redis Contributor
  3. 3. 솔직하게… Frankly Speaking…
  4. 4. 카카오는 AWS 거의 안써요.
  5. 5. 그런데… 왜…
  6. 6. 개인적으로는 AWS를 공부용으로만 씁니다.
  7. 7. Spot을 사랑합니다.
  8. 8. 발표 내용은 예전에 뽀록…
  9. 9. 꿍님이 5분만 해도 된다고 해서…
  10. 10. 날로 먹겠습니다.
  11. 11. 오늘의 주제…
  12. 12. 왜 Redis가 AWS에서는 느리다고 느껴질까?
  13. 13. Redis Latency Spikes
  14. 14. 이상하게 응답이 느릴 때가 존재…
  15. 15. 그런데 AWS 에서는 더 자주 느린 거 같네…
  16. 16. 먼저 결론…
  17. 17. 결론 • AWS라고 특별히 느릴 껀 없음. – PV 대신에 HVM 쓰면됨 – 디스크 좋은 거 써야함… – VPC 쓰는게 조금 더 좋을수도(이건 모든 클라우드가…) • 나머지는 안 지키면 아무거나 다 느림
  18. 18. 이제 끝…
  19. 19. 하기에는 증거를 밝히고…
  20. 20. PV vs HVM
  21. 21. AWS 는 Xen 을 사용
  22. 22. 두 개의 차이는 잘 모릅니다.
  23. 23. PV vs HVM • PV – Paravirtualization 반가상화 • HVM – Hardware assisted Virtual Machine
  24. 24. PV vs HVM
  25. 25. PV vs HVM • Xen 에서 PV 일 경우 fork 시에 page tables을 복사하는데 부하 가 걸림… – 왜 걸리는지는 묻지 말아주세요. PV에서 그냥 느립니다. • Page tables의 사이즈에 영향을 받음. • 실제 머신의 물리 메모리의 크기 보다는 레디스가 사용하는 Page 에 영향을 받음
  26. 26. PV vs HVM (m3.xlarge) - ms 메모리 PV HVM 0 0.5 0.1 608MB 143 5 1.54G 352 13 2.31G 517 20 4.62G 1208 안재봄 6.16G 1600 안재봄
  27. 27. fork 20x~30x 차이가 남
  28. 28. OpenStack(KVM) 물리 서버 HVM과 유사
  29. 29. 이게 왜 문제임?
  30. 30. Base Knowledge
  31. 31. Redis는 싱글 스레드
  32. 32. 키가 몇 백만개 있는 서버에서
  33. 33. Key * 한번 실행해보세요.
  34. 34. 망합니다.
  35. 35. Flushall 한번 해보세요.
  36. 36. 역시 망하죠…
  37. 37. Redis 는 싱글 스레드…
  38. 38. 한번에 하나의 작업만 처리합니다.
  39. 39. 그런데 fork 에서 시간이 1초가 더 걸리면?
  40. 40. 메모리 사용량이 적을 때는 큰 문제 없음.
  41. 41. 디스크?
  42. 42. EBS는 네트웍 스토리지…
  43. 43. 그냥 로컬에 쓰면
  44. 44. 인스턴스 재시작 하면 사라짐
  45. 45. 그런데 디스크에 자주 쓰면…
  46. 46. 망합니다.
  47. 47. 대부분 레디스를 디폴트로 씀…
  48. 48. SAVE 900 1 SAVE 300 10 SAVE 60 10000
  49. 49. RDB는 마스터에서 안쓰는게
  50. 50. 꼭 써야하면 슬레이브에서
  51. 51. 이렇게 하고 메모리 많이 쓰면.
  52. 52. 물리 서버 써도 망합니다.
  53. 53. Redis는 2.8.13 뒤에껄…
  54. 54. Elastic Cache의 Redis는?
  55. 55. 2.8.19로 선택하세요.
  56. 56. 왜???
  57. 57. Jemalloc 3.6.0
  58. 58. 메모리 사용량과 파편화가 줌
  59. 59. 아니면 Redis Labs 써도…
  60. 60. 이게 많이 고쳐서 메모리 덜 먹음…
  61. 61. 이 변화가 지금 Redis Unstable에 들어가고 있음
  62. 62. SADD RedisLab Antirez
  63. 63. 다시 결론…
  64. 64. 결론 • AWS라고 특별히 느릴 껀 없음. – PV 대신에 HVM 쓰면됨 – 디스크 좋은 거 써야함… – VPC 쓰는게 조금 더 좋을수도(이건 모든 클라우드가…) • 수행 시간이 긴 명령 쓰지 마셈. • 2.8.13 이후로… 신상이 좋음
  65. 65. 감사합니다.

×