inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)

파이썬 코루틴 활용

session 을 닫아야 하는 이유

437

thislover

작성한 질문수 1

0

session 은 왜 닫아야 하나요?

 

파이썬 코루틴 활용 강의에서

with requests.Session() as session:

session.get(url)

을 통해 session 을 열고 닫아야 한다고 하셨는데, 왜 session 을 닫아야 하는지 궁금합니다.

 

 

 

python 동시성 FastAPI

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요.

session을 닫는 이유에 대해 설명드릴게요.

파이썬의 requests 라이브러리를 사용하면 HTTP 요청을 보낼 때 세션 열기와 닫기를 할 수 있습니다. 세션(Session)은 서버와 클라이언트 간에 상호작용을 하는 동안 지속되는 상태 정보를 담아두는 곳입니다. 세션은 서버로부터 받은 쿠키 같은 정보를 유지하기 위해 사용됩니다.

세션을 열고 닫는 것은 메모리 관리와 연결 리소스 해제를 위한 것입니다. 세션을 열고 나중에 닫지 않으면, 메모리 누수(memory leak)와 연결 리소스 과도한 사용으로 인해 성능 저하가 발생할 수 있습니다.

따라서, 세션을 사용한 후에는 반드시 닫아주는 것이 좋습니다. with 문을 사용하면 코드 블록이 끝나면 자동으로 세션을 닫아줍니다. 이를 통해 안정적인 메모리 관리와 리소스 사용을 할 수 있습니다.

코드에서 session을 사용하지 않고 매번 새로운 요청을 보낼 때마다 세션을 열고 닫지 않는다면, 서버의 입장에서 매 요청마다 새로운 세션을 생성해야 하므로 부담이 됩니다.

따라서, 세션을 열고 닫음으로써 메모리 관리와 리소스 사용을 효율적으로 할 수 있고, 성능 개선에도 도움을 줄 수 있습니다.

더 궁금한 점이 있다면 언제든지 물어보세요. 좋은 하루 되세요.

대규모 크롤링 시 동시 요청 수 제어 방법

0

94

2

AWS LighSail 접근 불가

0

134

1

강의상의 readme와 배포되어 있는 것이 다른 것 같아요

0

96

1

book_scraper.py 에서 import get_secret 관련 질문

0

100

1

ThreadPoolExecutor 중간에 멈추는 법

0

291

1

몽고Db 기초 질문

0

195

1

async await 문법 질문

0

237

1

멀티 스레딩 질문..

0

193

1

교안 제공은 안되나요?

0

227

1

TypeError: field Config is defined without type annotation

0

258

1

RuntimeWarning: Enable tracemalloc to get the object allocation traceback

0

1709

1

jinja2templates

0

244

1

몽고DB 설정 관련 질문

0

242

1

비동기 함수를 동기적인 실행으로 만드는 부분 질문입니다

1

308

2

proxy 사용 질문

0

261

1

AWS Lightsail SSL handshake failed 오류 문의드립니다.

0

491

1

동시성과 병렬성

0

326

1

python select linter ? 오류

1

739

2

수업질문

1

352

1

response 객체에서 키값으로 조회 시 KeyError 발생

0

568

1

from config import get_secret 질문

0

386

1

파이썬 코루틴활용 영상 질문

0

279

1

가상환경 설정 질문

0

316

1

pydantic import error

0

1225

2