[데모]

가상 단체·가상 동물로 만든 데모입니다 — 실제 기관·동물과 무관

가상 동물구조단체

확인 화면

트래픽 점검표

데모 환경 측정 · 실제 사이트 약속 아님 — 이 데모 서버 한 대를 잰 기록입니다. 실제 사이트의 용량이나 가동률을 약속하는 숫자가 아닙니다.

부하 측정

2026-10-09 19:37에 autocannon 8.0.0로 이 데모 배포본(서버 미국 서부, 측정 PC 대한민국)의 3개 경로에 동시 접속 50개를 60초 동안 보냈습니다. 요청은 모두 5,078건입니다.

응답 시간 (95%가 이 안에 끝남)
984ms
절반은 603ms 안에 끝났습니다 · 위 조건에서만 유효
오류 비율
0.00%
5xx 응답과 연결 실패를 합친 비율 · 위 조건에서만 유효
초당 처리한 요청
85건/초
동시 50 · 60초 평균

대상 경로: /adopt · /adopt/a19 · 목록 크기 사진 1장 · 응답 시간에는 한국과 미국 사이 왕복 시간이 포함됩니다

사진 무게

입양 목록 첫 화면에 실리는 대표 사진 19장은 목록용으로 줄인 파일 합계 484KB입니다. 처음 올린 파일(가로 1200px 이하 견본 사진) 그대로였다면 3.8MB — 약 8.1배입니다.

목록용으로 저장된 파일 기준이며, 화면이 큰 휴대폰은 상세용 크기를 받을 수 있습니다 · 이 화면을 열 때 더한 값 · 기준 2026-11-05 11:25

  • 올린 파일
  • 목록용으로 줄인 파일

막대 한 쌍이 사진 한 장입니다 · 올린 크기 순 · 막대를 누르거나 가리키면 상세용 크기도 보입니다

응답 헤더 관찰

서버가 이 화면을 만들 때 자기 자신에게 요청해 받은 캐시 지시입니다.

무엇응답캐시 지시 (그대로)뜻
입양 목록 화면200private, no-cache, no-store, max-age=0, must-revalidate숨김을 누르면 바로 빠져야 하므로 매번 새로 만듭니다.
목록용 사진 1장200private, max-age=300방문자 브라우저에만 5분 남깁니다. 숨긴 뒤 공유 캐시에 남지 않게 합니다.
상태 확인 주소200no-store감시 도구가 서버가 살아 있는지 확인할 때 씁니다.

구성과 빠진 것

  • 사진 저장서버에 붙인 디스크에 둡니다. 올린 원본은 남기지 않고 다시 압축한 파일만 저장합니다.
  • 데이터베이스PostgreSQL 한 대. 동물·사진 정보·관리 기록·옛 주소표가 들어 있습니다.
  • 이 데모에는 없습니다. 사진과 공개 화면은 서버가 직접 보냅니다.
  • 오픈 전 납품물입니다. 실제 사이트가 아직 없어 데모에서는 재지 않습니다.

장애 안내 화면 견본

접속이 몰리거나 고장이 나면 공개 화면을 이 안내로 돌립니다. 아래는 그 화면을 그대로 줄여 놓은 것입니다.

복구 절차

  1. 감지응답 시간·오류율 경보가 울리거나 제보가 들어오면 시각을 적고 담당자를 정합니다.
  2. 분류전체 접속 불가인지, 사진만 느린지, 관리 화면만 안 되는지 범위를 나눕니다.
  3. 완화공개 화면을 안내 페이지로 돌리고, 몰리는 경로의 캐시 시간을 늘립니다.
  4. 복구원인을 고치거나 직전 배포로 되돌립니다. 데이터베이스는 백업 시점을 확인한 뒤에만 손댑니다.
  5. 확인입양 목록·상세·관리 화면을 로그아웃·로그인 상태로 각각 열어 정상 응답을 확인합니다.
  6. 보고언제부터 언제까지, 무엇이 안 됐고, 무엇을 바꿨는지 한 장으로 단체에 전달합니다.

이 데모가 실제로 돌고 있는 구성: Next.js 16 · Payload 3 · PostgreSQL · 사진 서버 디스크 · 서버 1대

단체 홈페이지의 6개 메뉴 중 데모에는 입양과 후원 경로만 담았습니다.

데모 확인 화면

데이터 출처

단체 이름, 동물 24마리의 이름·나이·건강·이야기, 관리 기록, 옛 주소는 모두 이 데모를 위해 지어낸 가상 데이터입니다. 실제 기관·동물·사람과 관계가 없습니다.

사진은 설명된 동물 본인이 아닙니다. 저작권이 없는 CC0 사진을 골라 종류만 맞춰 붙였습니다.

파일찍은 사람이용 조건
a01-dog-1.jpgW.carterCC0
a02-dog-2.jpgLoioschCC0
a03-dog-1.jpgPicographyCC0
a03-dog-2.jpgPicographyCC0
a04-dog-1.jpgMostafamerajiCC0
a05-dog-1.jpgPicographyCC0
a06-dog-1.jpgJoselodosCC0
a07-dog-3.jpgJackson JostCC0
a08-dog-2.jpgceskyfreund36CC0
a09-dog-2.jpgSciencia58CC0
a10-dog-1.jpgWilfredorCC0
a11-cat-1.jpgwebandiCC0
a12-cat-1.jpgAnton Petrov aptrovCC0
a13-cat-1.jpgJudgefloroCC0
a13-cat-2.jpgJudgefloroCC0
a14-cat-1.jpgjasminerebecca42CC0
a14-cat-2.jpgjasminerebecca42CC0
a15-cat-1.jpgAlexandraCC0
a16-cat-1.jpgAndy Miccone from FinlandCC0
a16-cat-2.jpgAndy Miccone from FinlandCC0
a17-cat-1.jpgDāvis Mosāns from Salaspils, LatviaCC0
a17-cat-2.jpgDāvis Mosāns from Salaspils, LatviaCC0
a18-cat-1.jpgIan RastallCC0
a19-rabbit-3.jpgPeter JungCC0
a20-rabbit-1.jpgآرمینCC0
a21-rabbit-1.jpgケケケノケCC0
a22-goat-1.jpgWilfredorCC0
a22-goat-2.jpgWilfredorCC0
a23-goat-1.jpgMartinThomaCC0
a24-goat-1.jpgMartinThomaCC0
sample-1.jpgW.carterCC0
sample-2.jpgLance 94 (Sebastian Rosa)CC0
sample-3.jpgTomwsulcerCC0