Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

테스트 용도이지만 테스트에 적합하지 않은 Azure D1 공유(shared) 요금제

당연히, 실 서비스를 D1 (또는 F1)에서 하는 경우는 없을 것입니다. 반면 간혹 테스트를 위해 사용하는 경우는 있을 텐데요,

azure_shared_d1_disk_2.png

그럴 때 주의하셔야 하는 것이 바로 D1 요금제에서 제공하는 자원이 매우 한정적이라는 점입니다.

App Service 가격
; https://azure.microsoft.com/ko-kr/pricing/details/app-service/windows/

azure_shared_d1_disk_1.png

디스크 용량이 1GB, 메모리가 1GB인 것을 처음 간단한 Web App을 올려 테스트할 때는 잘 동작해서 이후 무심코 쭉~~~ 사용하게 되는데요, 하지만 D1 공유 머신에 또 다른 Web App을 추가한다거나 기존 응용 프로그램의 규모가 커지면 어느 순간 알 수 없는 crash, 또는 각종 Azure 기능들의 비정상적인 동작을 경험하게 될 것입니다. 문제는, 그럴 때 리소스 부족이라는 것을 생각지 못하고 응용 프로그램에 어떤 문제가 있어서가 아닌가 착각할 때입니다. ^^;

일례로, 덤프 파일 뜨는 것도,

Azure Web App Service에 배포된 Java 프로세스의 메모리 및 힙(Heap) 덤프 뜨는 방법
; https://www.sysnet.pe.kr/2/0/12685

몇 백 MB의 덤프 파일 생성이 디스크 부족으로 인해 불가능한 상황이 종종 발생합니다. 또는, Java Web App을 (특히 Spring Boot 유형의 앱을) 호스팅하는 경우,

Azure - 자바(Java)로 만드는 Web App Service - Tomcat 호스팅
; https://www.sysnet.pe.kr/2/0/12690

Azure - 자바(Java)로 만드는 Web App Service - Java SE (Embedded Web Server) 호스팅
; https://www.sysnet.pe.kr/2/0/12686

메모리 부족으로 프로세스가 crash 나는 경우도 있습니다. 따라서, D1 공유 요금제로 운영되는 Web App을 테스트하는 경우는 이상 현상이 발생했을 때 응용 프로그램의 문제보다는 리소스 부족으로 인한 원인을 먼저 의심하는 것이 더 "권장"됩니다. ^^;




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 6/30/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 31  32  33  34  35  36  37  38  39  40  41  [42]  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
12886정성태12/20/202114668스크립트: 37. 파이썬 - uwsgi의 --enable-threads 옵션 [2]
12885정성태12/20/202115698오류 유형: 776. uwsgi-plugin-python3 환경에서 MySQLdb 사용 환경
12884정성태12/20/202114617개발 환경 구성: 620. Windows 10+에서 WMI root/Microsoft/Windows/WindowsUpdate 네임스페이스 제거
12883정성태12/19/202115064오류 유형: 775. uwsgi-plugin-python3 환경에서 "ModuleNotFoundError: No module named 'django'" 오류 발생
12882정성태12/18/202114548개발 환경 구성: 619. Windows Server에서 WSL을 위한 리눅스 배포본을 설치하는 방법
12881정성태12/17/202114161개발 환경 구성: 618. WSL Ubuntu 20.04에서 파이썬을 위한 uwsgi 설치 방법 (2)
12880정성태12/16/202115146VS.NET IDE: 170. Visual Studio에서 .NET Core/5+ 역어셈블 소스코드 확인하는 방법
12879정성태12/16/202121684오류 유형: 774. Windows Server 2022 + docker desktop 설치 시 WSL 2로 선택한 경우 "Failed to deploy distro docker-desktop to ..." 오류 발생
12878정성태12/15/202115948개발 환경 구성: 617. 윈도우 WSL 환경에서 같은 종류의 리눅스를 다중으로 설치하는 방법
12877정성태12/15/202115266스크립트: 36. 파이썬 - pymysql 기본 예제 코드
12876정성태12/14/202115127개발 환경 구성: 616. Custom Sources를 이용한 Azure Monitor Metric 만들기
12875정성태12/13/202113996스크립트: 35. python - time.sleep(...) 호출 시 hang이 걸리는 듯한 문제
12874정성태12/13/202113849오류 유형: 773. shell script 실행 시 "$'\r': command not found" 오류
12873정성태12/12/202115216오류 유형: 772. 리눅스 - PATH에 등록했는데도 "command not found"가 나온다면?
12872정성태12/12/202115620개발 환경 구성: 615. GoLang과 Python 빌드가 모두 가능한 docker 이미지 만들기
12871정성태12/12/202114670오류 유형: 771. docker: Error response from daemon: OCI runtime create failed
12870정성태12/9/202113733개발 환경 구성: 614. 파이썬 - PyPI 패키지 만들기 (4) package_data 옵션
12869정성태12/8/202116437개발 환경 구성: 613. git clone 실행 시 fingerprint 묻는 단계를 생략하는 방법
12868정성태12/7/202114809오류 유형: 770. twine 업로드 시 "HTTPError: 400 Bad Request ..." 오류 [1]
12867정성태12/7/202114580개발 환경 구성: 612. 파이썬 - PyPI 패키지 만들기 (3) entry_points 옵션
12866정성태12/7/202121469오류 유형: 769. "docker build ..." 시 "failed to solve with frontend dockerfile.v0: failed to read dockerfile ..." 오류
12865정성태12/6/202114819개발 환경 구성: 611. 파이썬 - PyPI 패키지 만들기 (2) long_description, cmdclass 옵션
12864정성태12/6/202112502Linux: 46. WSL 환경에서 find 명령을 사용해 파일을 찾는 방법
12863정성태12/4/202114689개발 환경 구성: 610. 파이썬 - PyPI 패키지 만들기
12862정성태12/3/202112623오류 유형: 768. Golang - 빌드 시 "cmd/go: unsupported GOOS/GOARCH pair linux /amd64" 오류
12861정성태12/3/202116472개발 환경 구성: 609. 파이썬 - "Windows embeddable package"로 개발 환경 구성하는 방법 [1]
... 31  32  33  34  35  36  37  38  39  40  41  [42]  43  44  45  ...