본문 바로가기
반응형

Backend MLOps/Fastapi8

[Fastapi] asyncio 제대로 써보기 with pytest - 3 지난 포스팅에서 asyncio를 사용했을 때 더 느려지는 경우와 더 빨라지는 경우를 알아봤다. 특히나 asyncio를 써도 같은 상황에서 더 느려지는 경우가 있어 그 부분에 대한 분석을 했었다. 이번에는 그 분석에 따른 가설을 실험해 보고 asyncio에 대해서 좀 더 자세하게 알아보고자 한다. 지난 포스팅으로 알게 된 것은 어떤 메소드 안에서 비동기적 동작이 이루어 지지 않는 경우 오히려 이벤트 루프를 돌리는 비용때문에 손해를 본다는 것이었는데 그에따라 하나의 메소드 안에서 비동기적 동작이 등장한다면 더 이득을 볼 수 있을 것이다 라는 가설을 얻었다. 만약 user에 따른 items가 여러개 들어오고 그에 맞게 모든 item을 업로드 해야하는 상황이라면 각각의 item을 DB에 insert하는 동작을 .. 2022. 6. 14.
[Fastapi] asyncio 제대로 써보기 with pytest - 2 지난 포스팅들에서 asyncio를 통한 비동기 처리가 무엇인지 한번 정리했다. 비동기 처리는 io-job에서 발생하는 요청-응답 사이의 시간지연을 회피하여 전반적인 프로세싱의 효율을 올릴 수 있는 방식이었다. 2022.06.03 - [Backend MLOps/Fastapi] - [Fastapi] asyncio 제대로 써보기 with pytest - 1 [Fastapi] asyncio 제대로 써보기 with pytest - 1 시작 이번 포스팅은 이론적으로 공부했던 비동기 처리의 요약을 포스팅한다. 다음 포스팅 부터 이 포스팅의 지식에 근거하여 실질적인 성능향상을 끌어내고 얼마나 성능이 향상되는지도 알아 davi06000.tistory.com io-job을 많이 쓰는 비동기 처리는 당연히 db처리라고 할 .. 2022. 6. 14.
[Fastapi] asyncio 제대로 써보기 with pytest - 1 시작 이번 포스팅은 이론적으로 공부했던 비동기 처리의 요약을 포스팅한다. 다음 포스팅 부터 이 포스팅의 지식에 근거하여 실질적인 성능향상을 끌어내고 얼마나 성능이 향상되는지도 알아보려고 한다. 최근 비동기를 활용하여 백엔드 프로젝트를 하나 진행한 적이 있다. 이전에 Go 관련 포스팅을 진행할 때 마지막엔 비동기 구현을 꼭 넣고자 했으나 이 프로젝트를 먼저 진행하게 되면서 파이썬의 async await을 먼저 포스팅 해보고자 한다. async는 파이썬의 네이티브 코루틴이 적용되는 함수를 생성하는 방법으로 비동기 함수 구현을 사용할 때 쉽고 간단하게 구현할 수 있도록 해준다. 동기? 비동기? 병렬? 우선은 비동기가 뭔지 정리하고 넘어가야겠다. 비슷한 것으로 병렬연산도 함께 정리하면 좋다. 내 언어로 정리해보.. 2022. 6. 3.
[DL Serving] FastAPI 튜토리얼 - 4 이번에는 Postgresql을 작동시키고 sqlalchemy를 이용해서 파이썬에 연동하고 그걸 fastapi로 확인하는 방식의 동작들을 수행해보자. 이단계에서 필요하다면 컨테이너를 빌드하고 소통하는 방식으로 진행해 볼 것이다. 우선 postgresql은 설치가 되어있는 상태다. main.py 가 있는 디렉토리와 같은 위치에 db 폴더를 따로 만들고 거기를 db로 지정해보도록 하겠다. db 의 권한을 777로 바꿔주고 그 아래에 postgres 라는 디렉토리를 생성 pg_ctl로 db를 시작해 주었다. 정상적으로 postgres 서버가 동작하는 모습 이때는 postgres의 관리 권한이 있는 계정으로 넘어가서 작업을 해 주어야한다. postgres 설치시에 자동으로 postgres라는 관리 계정이 생성되는.. 2021. 12. 6.
[DL Serving] FastAPI 튜토리얼 - 3 이번에는 main.py에서 include 했던 router들을 한번 들여다 보도록 하자. 다른 파일들은 모두 무시하고 우리가 import 했던 녀석들만 들여다보도록 하자. train을 먼저 봤다. 이런것들이 import 된다. app.utils 는 무시하고 지나쳐왔던 내용들이므로 필요할때 다시 올라가서 보도록 하자. https://lucky516.tistory.com/86?category=1055020 [Fast API] Fast API 배우기 1부 - 시작 및 path parameter Fast API란? 파이썬 웹 프레임워크중 가장 빠른속도를 지닌 프레임워크. Node.js와 Go와 속도가 맞먹는다 속도만 빠를뿐만 아니라 개발속도도 미치도록 빠르다 인터넷에 자료는 적지만 그걸 커버쳐 lucky516... 2021. 12. 5.
[DL Serving] FastAPI 튜토리얼 - 2 이번에는 잘 작성되어있는 코드를 이용해서 line-by-line으로 이해하며 딥러닝 서빙을 위한 웹서버를 만들어 보자. https://github.com/State-of-The-MLOps/MLOps GitHub - State-of-The-MLOps/MLOps: 👊 Build MLOps system step by step 👊 👊 Build MLOps system step by step 👊. Contribute to State-of-The-MLOps/MLOps development by creating an account on GitHub. github.com 최근 T-academy 에서 MLOps를 수강하셨던 분들과 함께 스터디 교류를 하게 되었는데 그분들이 직접 작성하고 시연까지 해 주신 코드들이어서 이.. 2021. 12. 4.
반응형