CDN을 사용하지 않는시기와시기


13

두 개의 작은 gif 이미지를 화면에로드하는 웹 응용 프로그램을 개발 중입니다. 상대 경로를 사용하고 있는데, 이는 PHP 페이지를 제공하는 동일한 웹 서버에서로드된다는 것을 의미합니다. 작업이 즉각적이며 웹 서버와 다른 대륙에 있습니다.

방금 정적 파일을 사용자에게 더 가깝게 옮기는 것이 좋습니다. 그러나이 모든 파일이 화면에 렌더링 되려면 0.5 초 정도 걸립니다. 이제 절대 경로를 사용해야합니다 (https://xyzvf.cloufront.net/images/)

왜 그런 겁니까? 절대 경로가 문제입니까? HTTP 요청을 내 자신의 서버로 줄이는 것이 좋지만 그 지연은 성가신 일입니다. CDN이 적합하지 않습니까?


4
CDN의 위치에 따라 다릅니다. 작은 이미지가 많은 경우 스프라이트로 결합하는 것이 옵션입니까? 이는 모든 이미지를로드하기위한 단일 요청 만 의미합니다.

: 그들은이 위치가 michaelgaigg.com/blog/images/amazon-cloudfront.jpg 내가 유럽에있어, 그리고 미국 내 웹 서버에서 이미지를로드하는 것은 빠른 유럽 위치 아마존이 나를 역할을 어떤 독일 또는에서로드보다. 아니면 로딩 시간이 아닌 다른 문제일까요? 스프라이트를 사용하는 것이 좋습니다.

"//xyzf.cloudfront.net/images"와 같은 호스트 이름으로 프로토콜이없는 URL을 사용할 수도 있습니다. 이를 통해 비 SSL 버전의 이미지를 캐싱하기 위해 ISP 및 회사 프록시 캐시를 활용할 수 있습니다. 이는 방문자 경험과 서버 / 대역폭로드 모두에 엄청난 이점을 줄 수 있습니다. 우리 사이트의 방문자는 거의 모든 미국 기반 금융 기관에서 온 것이며, 일부 형태의 캐싱 프록시 뒤에서 약 85 %의 방문을 감지합니다. YMMV이므로 자신의 사이트와 트래픽을 테스트하십시오.
rmalayter

답변:


6

문제는 DNS 또는 수 있습니다 keep-alive-이다, 브라우저는 이미 IP 주소가 당신의 서버와는 CDN의 서버의 이름을 확인하고 거기에 새로운 연결을 열 수있다 반면에, 그것은 개방의 연결을 가지고 있으며, 그 중 하나 또는 둘 다보고있는 지연을 구성합니다.

Spriting은 여전히 ​​좋은 생각이지만 이러한 문제를 해결하지 못할 것입니다. 실제로 어떤 해결책도 떠오르지 않습니다. 유일한 편안함은 수천 개의 이미지 (및 CSS 파일 및 JS 파일 및 필요한 다른 정적 파일)가 있고 0.5 초가 걸리면 원래 서버에 더 이상 스트레스를 가하지 않으면 0.5 초 지연이 훨씬 길어지지 않는다는 것입니다. 더 많은 사용자가 공격했습니다.


이것은 종을 울린다. CDN 서버에 대한 첫 번째 호출은 페이지 중간과 같이 첫 번째 이미지가 필요할 때 이루어집니다.

아, 그러면 페이지 초반에 CDN에 대한 참조를 만들면 더 나은 (인식 된) 성능을 얻을 수 있습니다. 가장 좋은 방법은 CSS 파일을 CDN에 넣고 link태그를 head섹션 에 넣는 것이므로 연결 프로세스가 즉시 시작됩니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.