00:00 인트로 01:06 네이버에서 경험한 대규모 트래픽 02:06 대규모 트래픽 경험을 연습하기 전 정해야 할 것 04:14 대규모 트래픽을 경험하기 위한 2가지 셋팅 07:11 병목지점이 발생한다면? 09:08 사실 신입 때 대규모 트래픽을 경험한다는 게 말이 안 되지 않나? 12:12 신입 채용 공고에 '대규모 트래픽 처리 경험'은 왜 적혀져 있는걸까? 14:31 취준생 시절로 돌아간다면 '대규모 트래픽 처리 경험' 스펙을 어떻게 만들건지? 17:10 Get Your Hands Dirty 19:53 마무리 --- - 서울시 생활인구 데이터 data.seoul.go.kr/dataList/OA-14979/F/1/datasetView.do - SRE에 Golden Signal sre.google/sre-book/monitoring-distributed-systems/
awk(오크) sed(세드)는 리눅스 서버를 쓰는 많은 회사에서 기본기로 다루죠(제가 주로 활동하는 금융권에서도 awk, sed는 많이 사용한답니다). 게다가 셸 스크립트를 제대로 쓰려면 awk, sed가 필수요소이기도 하고요. 그럼에도 불구하고 많은 학생들이나 주니어들은 기본기를 멀리하고, awk, sed 사용시 기본기인 REGEX를 배울때 BRE, ERE, PCRE의 차이점이나 표준 문법을 제대로 배우지 못해 안타까운 경우가 많습니다.
@@개발자국-b1m bash는 어디든지 쉽게 이식 가능하다는 장점이 있죠. python의 경우 module이 필수로 사용되는데 이게 의존관계가 되어 가상환경을 쓰거나 혹은 파이썬 및 모듈 버전에 따라서 특정 시스템에서는 작동하지 않을 수도 있고요. 게다가 금융이나 보안이 철저한 곳에서는 외부 모듈을 설치하기 어려운 경우도 많습니다. 그래서 여전히 bash의 중요도는 매우 높습니다. 다만 bash의 경우는 잘 다루는게 매우 어려워서 trap, fd, subshell rc, pipefail 같은 처리를 제대로 해줘야 하는데 이건 실무에서 제대로 배우지 않으면 학생들은 힘들죠.(이거 잘못처리해서 사고 터지는걸 많이 봤습니다) 그래도 요샌 python도 꽤 많이 사용되어서 50대50 정도로 많이 쓰이긴 합니다.
@user-hv8cg8oh4y 질문 자체에 답이 다 들어있는데.. bash 스크립트 라고 특정 짓는거 부터 어디서 부터 봐야하는지 알아야함. 일단 bash는 쉘이 종류중 하나이고 통칭 sh 즉 쉘스크립트로 표현하는게 올바름. 쉘스크립트가 할 수 있는 범위와 python 등의 언어로 api뭉치를 사용하는것에 범위가 조금은 다를 수 있음. 모든 환경에서 python 인터프리터를 사용해 빌드 할 수 없음 간단한 cp문도 쉘스크립트로 짤 수 있는걸 굳이 python까지 사용할 이유가 없음.
@@개발자국-b1m awk, sort, cut, sed, grep + join, comm.. 유럽 학교에서 데이터 엔지니어링 수업때 두 수업 정도 이것들 +@ 만 연습시키더라구요.. 정제처리하고 sql 데이터 베이스에 넣는 걸로.. 약 800만줄짜리 정제되지 않은 데이터 주고 알아서 정제시켜서 넣으라고 하는데, Regex도 빡세고 데이터를 어떻게 처리해야하는지도 빡세고.. 그래도 확실히 파이썬보다는 훨씬 빠르고 C++이랑 비슷하거나 더 빠르게 처리가 돼서 신기했어용 파이썬으로 처리하면 2,30초가 걸리는데 확실히 배쉬로 하면 C++보다 훨씬 간단하고 별도 컴파일없이 3,4초에 처리 가능하고.. 다만 C++이나 로우레벨 언어를 쓰면 SIMD나 바이트 블록단위로 좀 더 빠르게할 수 있는 테크닉을 넣을 수 있는 거만 빼면.. 파이썬으로 대용량 데이터를 처리한다? 걸리는 시간 상관없으면 괜찮을 듯. 근데 걸리는 시간이 중요하다 싶으면 파이썬은… 절레절레
@@개발자국-b1m awk, sort, cut, sed, grep + join, comm.. 유럽 학교에서 데이터 엔지니어링 수업때 두 수업 정도 이것들 +@ 만 연습시키더라구요.. 정제처리하고 sql 데이터 베이스에 넣는 걸로.. 약 800만줄짜리 정제되지 않은 데이터 주고 알아서 정제시켜서 넣으라고 하는데, Regex도 빡세고 데이터를 어떻게 처리해야하는지도 빡세고.. 그래도 확실히 파이썬보다는 훨씬 빠르고 C++이랑 비슷하거나 더 빠르게 처리가 돼서 신기했어용 파이썬으로 처리하면 2,30초가 걸리는데 확실히 배쉬로 하면 C++보다 훨씬 간단하고 별도 컴파일없이 3,4초에 처리 가능하고.. 다만 C++이나 로우레벨 언어를 쓰면 SIMD나 바이트 블록단위로 좀 더 빠르게할 수 있는 테크닉을 넣을 수 있는 거만 빼면.. 파이썬으로 대용량 데이터를 처리한다? 걸리는 시간 상관없으면 괜찮을 듯. 근데 걸리는 시간이 중요하다 싶으면 파이썬은… 절레절레 교수님 성함이 Thomas Neumann인데 인터넷에 처서 논문이나 학과 수업들 슬라이드는 오픈 돼있으니 한 번 읽어보세요. ( 슬라이드 자체는 크게 도움이 되진 않지만 그래도 아이디어만 얻기에는 괜찮을 듯 )
저는 분야가 웹 백엔드 쪽은 아니지만, 저에게도 백엔드 포지션 제의도 와서 가끔 보면 '대규모 트래픽 처리 경험'에 대한 내용이 종종 있는걸 저도 본 적이 있습니다. 우대 사항이니 어지간하면 상관이 없고, 그냥 문제해결력이 어필되면 되지 않을까 생각합니다. 다만 학부생이 대학원 연구생 생활 혹은 인턴을 하다 보면 보통 노가다를 시키지만 운 좋게 진짜로 대규모 트래픽이라 까지는 아니더라도 대규모 데이터를 다뤄 본 적 있는 분이 아주 가끔 있긴합니다.
성능목표에 대한 성능저하, 메모리 누수 등의 원인 등을 찾는것도 매우 힘들지만 해당 성능목표를 축정하기 위한 시나리오 설계, 시스템 구성, 스크립트 작성에도 외외로 많은 시간이 소요됨 5?6년전 자사 플랫폼 고도화 개발 + 성능시함을 진행하면서 hp4 로드러너를 통한 통합성능 시험 진행시 - 자사 플랫폼 7개 + 타사 연동 플랫폼 4종 통합 구성 - 자사 연동 HTTPS 기반 API 140종 - 외부 legacy 연동 구간 에뮬레이터 10여종 - 서비스 씬별 시나리오 10여개 씬 작성 - API + only DB side 부하를 위한 별도 시험 진행 을 개발과는 별도로 성능을 혼자 진행한적있는데 이를 혼자 진행하는데 - 스트레스 시험 설계 및 시나리오 작성에만 약 7개월(1차 완료 5개월, 개발side의 추가 변동사항으로 인한 지연), - 실제 시험 진행 4개월 정도 진행 한 이력이 있음 외외로 영업이나 pm분들은 이런점들을 mm산정시 고려하지 않으실때 있기에 QA 및 성능운영이 계획이 있다면 여러가지 고민해 보시는게 좋음
문제는 이러한 내용들은 서비스 씬에 대한 이해와 성능이수의 원인분석등을 진행하기위해 이슈여부를 판단하기 위한 경험적인 요소와 요구되는 분석요소는 대부분의 신입 개발자가 처리하기엔 매우 어렵습니다. 보통 성능 시나리오 계획 수립, 목표 설계는 pl급 이상이 진행하고 성능이슈에 대한 분석 및 대응은 시니어급 이상들이 진행하며 10년차 이상되는 분들도 해당내용에 대해 낮설어하는 분들이 많습니다. 실무에서 대부분 신입들에게는 스크립트 작성 정도의 업무를 맡길수 있는편입니다. 그래서 신입 및 초급 개발자분들에게 대용량 트래픽 처리 경험에 대해서는 대부분 대답하시기 힘들상황임으로 면접등에서 해당질문과 부딪치게 된다면 대부분 성능에 대한 개념이 잡혀있거나, 자신이 개발한 소스에 대해 자체적으로 간략한 성능운영 여부의 정도로 기대를 한다고 고려하시면 좋습니다.
00:00 인트로
01:06 네이버에서 경험한 대규모 트래픽
02:06 대규모 트래픽 경험을 연습하기 전 정해야 할 것
04:14 대규모 트래픽을 경험하기 위한 2가지 셋팅
07:11 병목지점이 발생한다면?
09:08 사실 신입 때 대규모 트래픽을 경험한다는 게 말이 안 되지 않나?
12:12 신입 채용 공고에 '대규모 트래픽 처리 경험'은 왜 적혀져 있는걸까?
14:31 취준생 시절로 돌아간다면 '대규모 트래픽 처리 경험' 스펙을 어떻게 만들건지?
17:10 Get Your Hands Dirty
19:53 마무리
---
- 서울시 생활인구 데이터
data.seoul.go.kr/dataList/OA-14979/F/1/datasetView.do
- SRE에 Golden Signal
sre.google/sre-book/monitoring-distributed-systems/
1. 대규모를 정의해라
2. Cpu, 네트워크사용량등의 부하를 측정해라
3. Ngrinder로 부하주고 측정해보기
4. 트래픽 병목지점파악후 해결. 디비 sql 문해결, 메모리캐싱, 피씨증설 등.
5. 실전경험워딩이 중요😊
6. 문제가생겼을때의 대응이 중요 (14:10)
7. 대용량 공공데이터를이용해서 프로젝트를해봐라
8. 더티데이터의 더티를 해결해봐라
9. 언제오픈소스를 쓸건지 언제 노가다로할건지를 잘 아는것도 중요함
대기업 계열사를 다니면서 많은 데이터를 처리함과 수없이 변경되는 요구사항 들로 인해 개발자로써 손을 더럽히기 싫었는데 이 영상을 보며 "Get Your Hands Dirt" 문구에 많은 생각이 드네요. 좋은 영상 감사합니다.
awk(오크) sed(세드)는 리눅스 서버를 쓰는 많은 회사에서 기본기로 다루죠(제가 주로 활동하는 금융권에서도 awk, sed는 많이 사용한답니다). 게다가 셸 스크립트를 제대로 쓰려면 awk, sed가 필수요소이기도 하고요. 그럼에도 불구하고 많은 학생들이나 주니어들은 기본기를 멀리하고, awk, sed 사용시 기본기인 REGEX를 배울때 BRE, ERE, PCRE의 차이점이나 표준 문법을 제대로 배우지 못해 안타까운 경우가 많습니다.
@@개발자국-b1m bash는 어디든지 쉽게 이식 가능하다는 장점이 있죠. python의 경우 module이 필수로 사용되는데 이게 의존관계가 되어 가상환경을 쓰거나 혹은 파이썬 및 모듈 버전에 따라서 특정 시스템에서는 작동하지 않을 수도 있고요. 게다가 금융이나 보안이 철저한 곳에서는 외부 모듈을 설치하기 어려운 경우도 많습니다. 그래서 여전히 bash의 중요도는 매우 높습니다. 다만 bash의 경우는 잘 다루는게 매우 어려워서 trap, fd, subshell rc, pipefail 같은 처리를 제대로 해줘야 하는데 이건 실무에서 제대로 배우지 않으면 학생들은 힘들죠.(이거 잘못처리해서 사고 터지는걸 많이 봤습니다) 그래도 요샌 python도 꽤 많이 사용되어서 50대50 정도로 많이 쓰이긴 합니다.
= Native solution
@user-hv8cg8oh4y 질문 자체에 답이 다 들어있는데.. bash 스크립트 라고 특정 짓는거 부터 어디서 부터 봐야하는지 알아야함. 일단 bash는 쉘이 종류중 하나이고 통칭 sh 즉 쉘스크립트로 표현하는게 올바름. 쉘스크립트가 할 수 있는 범위와 python 등의 언어로 api뭉치를 사용하는것에 범위가 조금은 다를 수 있음. 모든 환경에서 python 인터프리터를 사용해 빌드 할 수 없음 간단한 cp문도 쉘스크립트로 짤 수 있는걸 굳이 python까지 사용할 이유가 없음.
@@개발자국-b1m awk, sort, cut, sed, grep + join, comm.. 유럽 학교에서 데이터 엔지니어링 수업때 두 수업 정도 이것들 +@ 만 연습시키더라구요.. 정제처리하고 sql 데이터 베이스에 넣는 걸로.. 약 800만줄짜리 정제되지 않은 데이터 주고 알아서 정제시켜서 넣으라고 하는데, Regex도 빡세고 데이터를 어떻게 처리해야하는지도 빡세고.. 그래도 확실히 파이썬보다는 훨씬 빠르고 C++이랑 비슷하거나 더 빠르게 처리가 돼서 신기했어용
파이썬으로 처리하면 2,30초가 걸리는데 확실히 배쉬로 하면 C++보다 훨씬 간단하고 별도 컴파일없이 3,4초에 처리 가능하고.. 다만 C++이나 로우레벨 언어를 쓰면 SIMD나 바이트 블록단위로 좀 더 빠르게할 수 있는 테크닉을 넣을 수 있는 거만 빼면..
파이썬으로 대용량 데이터를 처리한다? 걸리는 시간 상관없으면 괜찮을 듯. 근데 걸리는 시간이 중요하다 싶으면 파이썬은… 절레절레
@@개발자국-b1m
awk, sort, cut, sed, grep + join, comm.. 유럽 학교에서 데이터 엔지니어링 수업때 두 수업 정도 이것들 +@ 만 연습시키더라구요.. 정제처리하고 sql 데이터 베이스에 넣는 걸로.. 약 800만줄짜리 정제되지 않은 데이터 주고 알아서 정제시켜서 넣으라고 하는데, Regex도 빡세고 데이터를 어떻게 처리해야하는지도 빡세고.. 그래도 확실히 파이썬보다는 훨씬 빠르고 C++이랑 비슷하거나 더 빠르게 처리가 돼서 신기했어용
파이썬으로 처리하면 2,30초가 걸리는데 확실히 배쉬로 하면 C++보다 훨씬 간단하고 별도 컴파일없이 3,4초에 처리 가능하고.. 다만 C++이나 로우레벨 언어를 쓰면 SIMD나 바이트 블록단위로 좀 더 빠르게할 수 있는 테크닉을 넣을 수 있는 거만 빼면..
파이썬으로 대용량 데이터를 처리한다? 걸리는 시간 상관없으면 괜찮을 듯. 근데 걸리는 시간이 중요하다 싶으면 파이썬은… 절레절레
교수님 성함이 Thomas Neumann인데 인터넷에 처서 논문이나 학과 수업들 슬라이드는 오픈 돼있으니 한 번 읽어보세요. ( 슬라이드 자체는 크게 도움이 되진 않지만 그래도 아이디어만 얻기에는
괜찮을 듯 )
이번 영상을 통한 자세한 질문과 예시, 그리고 어떤 관점으로 접근하는지 알게되서 좋았습니다.
어떤 기술이 사용되는지 알려준다는 점이 가장 직관적으로 알기 쉽고 도움이 많이 되었습니다.
너무 좋은영상 감사합니다, 막연했던 부분이었는데 정리가 되었어요
취업 준비하면서 도움이 많이 돼요 감사합니다
이런 배울 거 많은 선임 있음 너뮤 좋겠네요
이런 정보를 얻을 수 있는 것도 흔하지 않은데 좋은 것 같아요!! 👍
SRE와 DevOps 분야에 관심이 많은 학생인데, 영상에서 정말 큰 인사이트를 얻었네요.
앞으로 어떻게 역량을 갖추어 나가야할지 갈피를 잡을 수 있게 된 것 같아요!
좋은 영상 정말 감사합니다!! 🥰
저는 분야가 웹 백엔드 쪽은 아니지만, 저에게도 백엔드 포지션 제의도 와서 가끔 보면 '대규모 트래픽 처리 경험'에 대한 내용이 종종 있는걸 저도 본 적이 있습니다. 우대 사항이니 어지간하면 상관이 없고, 그냥 문제해결력이 어필되면 되지 않을까 생각합니다. 다만 학부생이 대학원 연구생 생활 혹은 인턴을 하다 보면 보통 노가다를 시키지만 운 좋게 진짜로 대규모 트래픽이라 까지는 아니더라도 대규모 데이터를 다뤄 본 적 있는 분이 아주 가끔 있긴합니다.
항상 감사합니다! 스프링을 막 배우는 단계인데, 앞으로 어떤 방향으로 가면 좋을지 고민이었습니다. 많은 영상들이 저에게 피와 살이 되는 영상들이네요.
성능목표에 대한 성능저하, 메모리 누수 등의 원인 등을 찾는것도 매우 힘들지만
해당 성능목표를 축정하기 위한 시나리오 설계, 시스템 구성, 스크립트 작성에도 외외로 많은 시간이 소요됨
5?6년전 자사 플랫폼 고도화 개발 + 성능시함을 진행하면서
hp4 로드러너를 통한 통합성능 시험 진행시
- 자사 플랫폼 7개 + 타사 연동 플랫폼 4종 통합 구성
- 자사 연동 HTTPS 기반 API 140종
- 외부 legacy 연동 구간 에뮬레이터 10여종
- 서비스 씬별 시나리오 10여개 씬 작성
- API + only DB side 부하를 위한 별도 시험 진행
을 개발과는 별도로 성능을 혼자 진행한적있는데
이를 혼자 진행하는데
- 스트레스 시험 설계 및 시나리오 작성에만 약 7개월(1차 완료 5개월, 개발side의 추가 변동사항으로 인한 지연),
- 실제 시험 진행 4개월 정도 진행
한 이력이 있음
외외로 영업이나 pm분들은 이런점들을 mm산정시 고려하지 않으실때 있기에
QA 및 성능운영이 계획이 있다면 여러가지 고민해 보시는게 좋음
문제는 이러한 내용들은
서비스 씬에 대한 이해와 성능이수의 원인분석등을 진행하기위해
이슈여부를 판단하기 위한 경험적인 요소와 요구되는 분석요소는
대부분의 신입 개발자가 처리하기엔 매우 어렵습니다.
보통 성능 시나리오 계획 수립, 목표 설계는 pl급 이상이 진행하고
성능이슈에 대한 분석 및 대응은 시니어급 이상들이 진행하며 10년차 이상되는 분들도 해당내용에 대해 낮설어하는 분들이 많습니다.
실무에서 대부분 신입들에게는 스크립트 작성 정도의 업무를 맡길수 있는편입니다.
그래서 신입 및 초급 개발자분들에게
대용량 트래픽 처리 경험에 대해서는 대부분 대답하시기 힘들상황임으로
면접등에서 해당질문과 부딪치게 된다면
대부분 성능에 대한 개념이 잡혀있거나,
자신이 개발한 소스에 대해 자체적으로 간략한 성능운영 여부의 정도로 기대를 한다고 고려하시면 좋습니다.
실무 경험을 이렇게 상세하게.. 감사합니다 😊
싸고 좋은 성능을 내는게 가장 좋은 엔지니어링이다.
경력자를 신입으로 받는게 가장 좋은 엔지니어링이군요?
차라리 의도사항을 정확하게 기재해줬으면 하는대... "지금부터 내가 애매모호하게 적을테니 내가 원하는 인재상의 정답을 네가 찾을수 있을까?" 이런식으로 적어놓으면 어쩌자는거에요.
본질은 기본 ❤
최근에 영상 올라올때마다 보는데 방구석에 앉아서 이런 인사이트를 얻어갈 수 있다는게 참 좋다고 느껴지네요
팬이에요
내가 꼰이라 그런가...
왼쪽분은 반말로 하고, 오른쪽분은 끝까지 존대하네...
잘보고 갑니다.
친한 형 동생 사이여서 자연스럽게 얘기할 수 있게 평소처럼 반말로 해달라고 제가 부탁드렸어요ㅎㅎ
재성님 개발 블로그를 써보려고 하는데
블로그 어떤걸로 쓰는게 좋나요 ?
블로그는 개인 취향따라 선택하시면 됩니다ㅎㅎㅎ 전 이것저것 쓰다가 최근에는 티스토리 쓰고 있어요~!!
대규모라면 보통 DB기준 1억건 이상, 최소 1000만건 이상 입니다.
내용이 진짜 좋네요. 이런걸 공짜로 듣는다니
이렇게 말씀해주셔서 너무 감동입니다🥹🥹
굿
1