
460 Chapter 11
다양한 문제
때로는 입출력이 오래 걸릴 수 있어요
우리 웹앱은 백엔드 데이터베이스와 거의 동시에 통신하므로 웹앱 사용자는 웹앱과
데이터베이스가 통신하는 동안 거의 아무 지연도 느낄 수 없습니다. 하지만 백엔드
데이터베이스와 통신하는 데 몇 초 정도 걸린다고 생각해보세요.
from time import sleep
위
import
문을 추가했으면
log
_
request
함수의
with
문 앞에 아래 코드를
추가하세요.
sleep(15)
웹앱을 다시 시작한 다음 검색을 수행하면 결과가 표시되기 전에 상당한 지연이 발생합니다.
15
초는 상당히 긴 시간입니다. 웹에
15
초의 지연이 발생하면 대부분의 사용자는 우리
웹앱이 크래시되었다고 생각할 겁니다.
‘
Do it!
’
버튼을 클릭하면
웹 브라우저는 기다리고...
기다리고... 계속 기다립니다.
어떤 작업을 하는 데 시간이 오래 걸리면 어떤 일이 일어날까요?
백엔드 데이터베이스가 다른 건물 또는 심지어 다른 대륙에 있다면 어떤 일이
일어날까요?
3
백엔드 데이터베이스와 통신하는 데 시간이 걸릴 수 있습니다. 실제로 코드가 파일,
데이터베이스, 네트워크 등 외부 리소스와 상호작용하느라 시간이 걸릴 수 있는데 이는
우리가 어떻게 제어할 수 있는 부분이 아닙니다. 하지만 어떤 동작이 오래 걸릴 수도 있다 ...