웹 사이트 성능의 가장 중요한 측면 중 하나는 사용에 할당 된 대역폭의 양입니다. 대역폭은 웹 서버가 요청 된 정보를 업로드 할 수있는 속도를 결정합니다. 웹 사이트의 성능과 관련하여 고려해야 할 다른 요소가 있지만 대역폭이 제한 요소 인 경우가 많습니다.
대역폭 정의
대역폭은 초당 비트 수로 정의됩니다. 비트는 가장 적은 양의 컴퓨터 정보이며 0 또는 1이며 그중 8 개는 단일 바이트를 만듭니다. 역사적으로 네트워크 연결은 비트 단위로 측정되는 반면 컴퓨터 메모리 및 하드 드라이브와 같은 최종 사용자 장치는 바이트 단위로 측정됩니다. 메가 비트는 100 만 비트 (정확하게는 1,048,576 비트)를 약간 넘는 반면 기가비트는 10 억 비트 (정확히 1,073,741,824 비트)를 넘습니다. 따라서 초당 100 메가 비트 연결은 초당 1 억 4 백만 비트 이상을 전송할 수 있으며, 이는 더 유용하게 초당 13MB로 표현됩니다.
대역폭 요구 사항 계산
대부분의 웹 서버는 요청시 웹 브라우저에 정적 페이지와 이미지를 전송합니다. 즉, 인터넷을 통해 업로드되기 전에 이러한 파일을 수정할 필요가 없습니다. 이러한 경우 대역폭 요구 사항은 매우 간단합니다. 사이트의 특정 페이지를 구성하는 리소스가 사용하는 총 바이트 수를 더하세요. HTML 페이지는 특정 수의 HTML, 자바 스크립트 및 포함 된 파일이며 페이지에서 요청하는 이미지는 더 많을 것입니다. 킬로바이트. 예를 들어, 홈페이지는 25KB의 HTML, Cascading Style Sheets 및 JavaScript 일 수 있으며 250KB의 이미지를 요청합니다. 따라서이 페이지를 처음으로 요청하려면 275KB의 데이터 또는 2,200 킬로 비트가 필요합니다. 100 메가 비트 인터넷 연결을 통해 1 초 동안 1 메가 비트의 1/4 이상을 사용하게되는데, 이는 약 300 명의 동시 사용자가 속도 저하없이 사이트에 액세스 할 수있게합니다. 어느 정도의 대역폭은 항상 오버 헤드 네트워킹 요구 사항으로 인해 손실되므로 이러한 예상치를 반올림 (이 경우 364에서 300으로)하는 것이 좋습니다. 따라서 300 명 이상의 동시 사용자를 예상하는 웹 사이트는 더 많은 인터넷 대역폭이 필요하거나 홈페이지에서 더 작은 파일을 사용합니다.
CPU 병목 현상
동적 파일을 제공해야하므로 웹 사이트 속도가 느려질 수도 있습니다. 이것은 프로그래밍 코드를 기반으로 웹 페이지가 생성 될 때마다 발생합니다. 예를 들어, WordPress 사이트의 페이지는 정적 HTML이 아니지만 WordPress 템플릿의 PHP 프로그래밍에 의해 요청시 생성됩니다. 정적 페이지 예제와 동일한 매개 변수를 가진 동적 사이트는 각 페이지를 생성하기위한 CPU 요구 사항이 CPU의 1 %의 약 1/3 미만인 경우 300 명의 동시 사용자 만 처리 할 수 있습니다. 반면에 CPU의 1 %를 사용하여 페이지를 생성하면 사용 가능한 대역폭이 더 많은 사용자를 처리 할 수 있더라도 최대 동시 사용자 수는 300 명보다 100 명에 가까워집니다.
캐싱 및 콘텐츠 전달 네트워크
일반적으로 인터넷의 여러 지점에 웹 서버의 데이터 복사본을 저장하는 콘텐츠 전달 네트워크 또는 CDN을 사용하여 대역폭 병목 현상을 개선 할 수 있습니다. 예를 들어 CDN은 도쿄와 런던에 위치하여 아시아와 유럽의 사용자를 위해 웹 서버의 정보를 복제하거나 캐싱 할 수 있습니다. CDN은 물리적으로 사용자에게 더 가까워 전달 속도를 높이고 기본 웹 서버의 적중 횟수를 줄입니다. 마찬가지로 로컬 웹 서버 또는 CDN에 대한 캐싱도 CPU 요구 사항을 크게 줄일 수 있지만 웹 브라우저에 약간 오래된 페이지를 보내는 비용이 발생합니다.