이전에 브라우저 속도에 대해 쓴 적이 있습니다. 브라우저 속도는 운영 체제에서 하나 이상의 구성 요소가 잘못 구성되거나 최적화되지 않아 결함이 있는 브라우징 경험을 초래하는 것으로 나타났습니다. 우리는 문제가 무엇인지, 잃어버린 가치를 어떻게 되찾을 수 있는지 이해하려고 노력했습니다. 피>
오늘은 다른 종류의 브라우징 속도 문제에 대해 이야기하겠습니다. 스펙트럼의 맨 끝인 브라우저 속도 벤치마크입니다. 아마도 그들은 우리가 선택한 제품에 대해 우리에게 무언가를 말해주고 우리의 결정에 대해 우리를 자랑스럽게 만들고 확신하게 만들어야 합니다. 테스트는 설정과 관련이 없습니다. 그것들은 당신의 브라우저가 내부에서 어떻게 보이는지와 모든 관련이 있습니다. 그것은 그것들을 완전히, 완전히 무관하게 만듭니다. 설명하겠습니다. 피>
피>
기술 이해
대부분의 사람들은 브라우저 속도 벤치마크가 무엇을 의미하고 일상적인 사용에 어떤 영향을 미치는지 모릅니다. 그러나 그들은 단어를 빠르고 빠르게 이해합니다. 그들은 단어를 자동으로 장엄한 슈퍼카의 이미지로 번역하고 속담처럼 각성하는 순간을 즐깁니다. 현실은 조금 다릅니다. 피>
브라우저 벤치마크는 가장 최적의 브라우저 엔진을 작성하여 서로를 최고로 만들려는 코드 개발자 간의 일종의 개념적 우월성 경쟁입니다. 단일 스레드 대 다중 스레드 프로세스, 뮤텍스, 샌드박싱 및 기타 괴상한 단어에 관한 것입니다. 피>
브라우저 속도 테스트는 Lamborghini LM002의 연료 소비만큼 실생활과 관련이 있습니다. 느린 사용자나 네트워크 정체가 없는 완벽한 세상에서 내부 기술이 무엇을 할 수 있는지 엿볼 수 있는 것입니다. 안타깝게도 세상은 완벽하지 않습니다. 내 이야기는 다음과 같습니다.
귀하의 브라우저는 병목 현상이 아닙니다
간단한 사실은 귀하의 브라우저는 인터넷을 작동시키는 장치 및 소프트웨어의 긴 사슬에서 하나의 링크일 뿐이라는 것입니다. 귀하의 브라우저는 매우 복잡하고 뒤얽힌 다층, 다층 그리드의 끝점입니다. 피>
보고 싶은 웹 사이트의 주소를 입력하면 웹 페이지가 표시되기 전에 일련의 이벤트가 발생하고 만족합니다. 웹 페이지에 대한 귀하의 요청은 네트워크 스택을 통해 모든 종류의 필터링 도구, 바이러스 백신 소프트웨어 및 방화벽을 거쳐 라우터, 모뎀, ISP 스위치, 그리고 또 다른 10개 또는 따라서 실제로 페이지를 보유하고 있는 웹 서버로 홉합니다. 피>
피>
이러한 모든 요소는 최적이 아닌 수준에서 수행되어 서비스 품질에 약간의 지연을 야기할 수 있으며 결국에는 브라우저 경험으로 해석하게 됩니다. 피>
방금 접속한 웹 서버가 로드되었을 수 있습니다. 요청한 페이지가 크고 다른 서버에서 호스팅되는 타사 코드가 포함되어 있을 수 있습니다. 인터넷 러시아워일 수 있으며 관대하게 헌신하는 공급자가 어려움을 겪고 있습니다. 결과에 영향을 줄 수 있는 영화를 다운로드 중일 수 있습니다. 무선 신호, 동시에 대역폭 리소스를 실행하고 공유하는 여러 대의 컴퓨터, 백그라운드에서 주기적인 소프트웨어 업데이트, CPU 로드, 이 모든 것이 브라우징에 영향을 미치는 여러 요인 중 일부입니다. 이제 모든 것을 결합하면 하나의 큰 미지수를 얻게 됩니다. 그러나 대부분의 사람들은 전혀 모릅니다. 그들이 보고 느끼는 모든 것은 요청된 웹 페이지의 로딩입니다. 피>
개인적인 예를 들어보겠습니다
몇 달 전에 가장 약한 1.5Mbit 라인을 12Mbit 라인으로 업그레이드했습니다. 질문 하나 할게요. 내 브라우징 경험이 향상되었다고 생각하십니까? 내 대답은 아니오 야! 변화가 있다면 감지할 수 없습니다. 지속적인 업로드 및 다운로드에서 상당히 선형적인 변화가 눈에 띄고 심지어 핑 시간도 개선되어 온라인 게임이 더 재미있어졌지만 브라우저 공간은 그대로 유지됩니다. 피>
피>
어때요? 대답은 간단합니다. 제 브라우징 경험은 이미 대역폭과 관계없이 최대로 최적화되었습니다. 브라우저 속도를 고려하기 전에 가장 먼저 해야 할 일입니다. 피>
사용 가능한 최상의 성능을 얻으려면 시스템을 최적화해야 합니다. 병목 현상이 제어 범위 밖에 있는지 확인해야 합니다. 병목 현상이 집 주변을 넘어선 많은 링크 중 하나에 있기를 원합니다. 느린 브라우저에 대한 자세한 내용은 이 문서를 참조하십시오. 피>
그러나 결론은 다음과 같습니다. 1MB 회선이 있고 1MB 상당의 웹 사이트 데이터, 텍스트, 이미지 등을 다운로드해야 하는 경우 작업은 어떤 경우에도 1초 미만이 걸리지 않습니다. 브라우저는 마법을 부릴 수 없습니다. 피>
벤치마킹, 무슨 뜻인가요?
컴퓨터 설정이 완벽하고 컴퓨터를 손상시키는 절름발이 보안 소프트웨어가 없다고 가정하면 여전히 알려지지 않은 큰 가마솥이지만 브라우저 속도 테스트에 대해 생각할 수 있습니다. 브라우저를 비교하는 방법은 무엇입니까? 웹페이지를 불러오세요, 맞죠? 글쎄, 어떤 면에서는 이것이 맞지만 외부에서 일어나는 일을 통제할 수 없다는 사실을 잊지 말자. 피>
진정으로 정확한 유일한 테스트는 자신의 컴퓨터에서 웹 서버를 시작하고 localhost에 대해 테스트를 실행하는 것입니다. 이렇게 하면 네트워크에 영향을 미치고 브라우저 공간으로 전달되어 잘못된 인상을 주는 외부 요인이 없음을 알 수 있습니다. 피>
인터넷은 끊임없이 변화하는 폭풍입니다. 서로 다른 브라우저에서 몇 초 내에 웹 페이지를 로드하더라도 서로 다른 상황에서 여전히 실험을 실행하고 있을 것입니다. 어떤 종류의 정확성을 주장할 수 있는 유일한 방법은 여러 웹 사이트에 대해 하루 동안, 요일에 따라, 몇 주 동안 여러 번 벤치마킹 테스트를 수백 번 실행하는 것입니다. 다른 브라우저, 다른 운영 체제, 다른 하드웨어 플랫폼, 다른 인터넷 제공, 네트워크 기술, 암호화 등에 대해 이 작업을 수행해야 합니다. 아무도 이것을하지 않습니다. 피>
피>
브라우저 응답을 측정하는 것도 간단하지 않습니다. 당신의 눈이 보는 것은 소프트웨어가 보는 것과 다릅니다. 실제 렌더링은 동일하게 유지하면서 브라우저 인터페이스 내에서 시각적 전환 효과를 사용하여 속도를 느낄 수 있습니다. 경쟁 제품과 비교할 때 Internet Explorer에서 새 탭을 여는 속도가 느리다는 인식과 진정한 속도 저하의 좋은 예입니다. Firefox, Chrome 및 나머지는 탭을 즉시 여는 반면 어리석은 바이러스 백신 소프트웨어 등에 의해 장애가 발생하지 않는 한 Internet Explorer는 약. 탭을 열려면 0.5초. 이것은 큰 차이를 만듭니다. 콘텐츠가 나중에 빠르게 로드되더라도 전체적인 효과가 손상됩니다. 피>
이를 위해 개발자는 브라우저의 렌더링 엔진, 특히 Javascript 구성 요소를 강조하는 모든 종류의 컴퓨팅 벤치마크를 제공했습니다. 이런 종류의 테스트에서 확실히 큰 차이를 볼 수 있습니다. 피>
그러나 결과는 약간의 소금과 후추로 가져와야합니다. Raw Javascript 벤치마킹은 모두 훌륭하지만 웹의 현실을 고려하지 않습니다. 피>
많은 페이지는 상대적으로 적은 양의 코드를 사용하며 사용자가 알아차리기 훨씬 전에 몇 밀리초 내에 실행됩니다. 반면에 벤치마크 테스트는 실행하고 완료하는 데 몇 초가 걸리며 일반적인 페이지 로드보다 몇 배나 더 걸립니다. 즉, 한 브라우저가 다른 브라우저에 비해 가질 수 있는 명확한 이점이 줄어듭니다. 먼저 과대 광고부터 시작하겠습니다. 피>
쓸데없는 예
이것은 브라우저 속도 저하에 대한 첫 번째 기사에 속하지만 유혹을 거부할 수 없었습니다. 거의 모든 브라우저 전문가가 되려는 사람들은 소위 콜드 및 핫 스타트를 Excel 그래프에 포함하여 겉보기에 과학적으로 보이는 브라우저 테스트에 깊이를 더할 것입니다. 콜드 스타트는 컴퓨터 재부팅 후 프로그램을 처음 실행할 때 브라우저 인터페이스가 열리는 속도입니다. 핫 스타트는 브라우저를 두 번째 또는 세 번째로 다시 시작하는 것입니다. 피>
검사가 타당성을 갖기 위해서는 서로 다른 운영 체제 및 하드웨어 플랫폼에서 수백 번 테스트를 수행해야 한다는 사실을 잊지 마십시오. 그렇더라도 콜드 스타트는 무엇을 알려 줍니까? 시베리아 겨울에 출발하려는 라다 니바 지프차가 아니다. 그것은 CPU 대기열, 스케줄러, 우선 순위 및 쓸데없는 테스트를 실행할 때 아무도 신경 쓰지 않는 백만 개의 다른 매개 변수를 놓고 경합하는 백 개의 백그라운드 프로세스에 의존하는 브라우저입니다. 피>
핫 스타트도 마찬가지입니다. 닫을 때 운영 체제가 메모리 및 커널 버퍼에서 모든 페이지를 해제했습니까? 메모리 캐시와 처리량은 어떻습니까? 공유 메모리는 어떻습니까? 현재 디스크는 무엇을 하고 있습니까? 돌고 있습니까? 얼마나 빠릅니까? 기타 등등. 이러한 질문 중 어느 것도 브라우저 속도 벤치마크에서 답변되지 않으며 브라우저 엔진 코드로 작업할 때만 악화됩니다. 피>
당신이 끝내는 것은 숫자가 있는 자폐증 그래프의 묶음인데, 그것은 맥락에서 벗어난 것입니다. 하지만 모두가 전문가입니다. 그런 다음 사용자 지정 데스크탑 또는 저렴한 넷북 위에 있는 즐겨 찾는 브라우저에서 즐겨 찾는 웹 사이트의 웹 요소 로드를 눈으로 얼마나 빨리 인식할 수 있는지에 따라 무엇이 빠르다고 생각하는지 전문가에게 알려줍니다. 피>
덜 쓸모 있는 예
논쟁을 위해 Sunspider 벤치마크 테스트를 완료하는 데 브라우저 A에서는 5초, 브라우저 B에서는 10초가 걸릴 수 있습니다. 5초 차이는 중요합니다. 그러나 평균적인 웹페이지는 로드하는 데 1초가 걸리며, 이는 자바스크립트 실행 전용 시간의 절반입니다. 즉, 브라우저 A가 작업을 수행하는 데 0.5초가 걸리면 브라우저 B는 1초가 걸립니다. 0.5초가 눈에 띄나요? 아마도. 그러나 그것은 확실히 중요하지 않습니다. 피>
피>
이제 두 브라우저가 40%(여전히 많이) 차이가 난다면 어떨까요? 상대적 차이는 이제 0.2초가 됩니다. 그것은 당신이 깜박이는 정도입니다. 이것은 약입니다. 사람의 응답 임계값이므로 해당 시간 프레임 내의 모든 것이 사용자에게 동일하게 보입니다. 그리고 우리는 다른 모든 웹 요소, 콘텐츠 등을 고려하지 않고 순수한 엔진 렌더링 속도에 대해 이야기하고 있습니다.
이제 최신 브라우저를 비교하면 여기저기서 전체적인 차이가 통계적으로는 크지만 인간적으로는 작다는 것을 알 수 있습니다. 몇 시간 동안 브라우징을 집계하면 벤치마크에 어느 정도 타당성이 있다고 주장할 수 있지만 순간적인 양자 브라우징에 감사하는 사람에게는 시간이 무시할 수 있습니다. 피>
추가 설명 ...
또한 느린 브라우저의 추가 시간이 사용자에게 어떤 영향을 미치는지 주의해야 합니다. 마지막으로 로드되는 페이지 하단에 있는 어떤 종류의 버튼에서 속도 저하가 나타나면 아무도 이를 알아채지 못할 것입니다. 사용자는 읽고, 이미지를 보고, 웹 페이지 레이아웃과 요소를 흡수하느라 바쁠 것입니다. 그들은 따라잡기 위해 고군분투하는 특정 요소를 거의 보지 못할 것입니다. 피>
그런 다음 새 페이지를 열고 싶을 때 어떻게 합니까? 글쎄, 당신이 약간 유능하더라도 관심 있는 링크를 가운데 클릭하면 현재 탭에 집중하면서 두 번째 탭에서 열립니다. 하던 일을 계속하고 결국에는 다음 탭으로 전환하게 됩니다. 당신의 마음은 다른 페이지를 로드하는 데 걸릴 수 있는 여분의 시간을 인식하지도 못할 것입니다. 모든 실용적인 목적을 위해 웹 브라우징은 원활한 활동입니다. 피>
피>
마지막으로 많은 페이지에는 최적화되지 않은 코드, 표준을 준수하지 않는 코드 및 오류가 많이 포함되어 있습니다. 인기 있는 온라인 리조트에 대해 유효성 검사를 실행하면 오류 및 경고의 양에 놀랄 것입니다. 많은 웹사이트가 규정을 준수하지 않습니다. 브라우저 관련 해킹, 특히 구식 브라우저가 원본에 충실한 페이지를 표시하도록 만드는 데 필요한 IE6 해킹을 잊지 마십시오. 이들 모두는 정밀도를 부정확하게 만드는 상당한 양의 노이즈를 추가합니다. 피>
벤치마크는 경마장에 좋습니다. Bugatti Veyron과 McLaren F1을 맞붙고 Nurburgring에서 누가 이기는지 볼 수 있습니다. 하지만 월요일 아침 8시에 어느 쪽이 런던을 더 빨리 횡단할지 알 수 있습니까? 피>
브라우저도 마찬가지입니다. 무균 실험실 테스트는 하나의 이야기를 들려줄 것이며 그것은 좋은 이야기입니다. 그러나 현실은 이야기를 뒤틀어 혼란에 빠뜨릴 것입니다. 벤치마크는 브라우저가 수십 배 차이가 나는 경우에 유효하지만 수십 퍼센트 내에서 유사한 성능을 가진 브라우저의 경우 최종 결과는 거의 동일합니다. 사용자는 그 차이를 모를 것입니다. 피>
피>
다시 말하지만 개인적인 예입니다. Firefox, Chrome 및 Opera(내가 사용했을 때) 모두 거의 동일한 결과를 제공합니다. Chrome은 더 빠르고 가벼워진 느낌이 들지만 실생활 테스트에서는 뚜렷한 이점이 없었습니다. 메모리 사용량은 시스템마다, 운영 체제마다 다릅니다. 결국 맛과 습관으로 귀결됩니다. 피>
그래도 누군가가 브라우저 벤치마크를 언급할 때마다 불을 붙이고 싶은 충동을 느끼지 않을 수 없습니다. 좋은 날에는 신발 끈을 묶는 것을 혼동하지 않을 수도 있는 사람들이 말하는 "X 브라우저는 형편없다", "X 브라우저가 더 빠르다"와 같은 아름답고 웅변적이며 무엇보다도 과학적인 주장에 편파적이지 않을 수 없습니다. 그러나 모든 사람은 Internetics에서 박사 학위를 가지고 있습니다. 피>
마지막으로 벤치마크가 무의미한 이유
위의 길고 상세한 섹션이 여러분 중 더 많은 회의론자를 만족시키지 못한다면, 마음을 단단히 먹으십시오. 벤치마크는 무엇보다도 홍보용 스턴트이기 때문에 의미가 없습니다. 그것들은 완벽하다는 착각을 불러일으키고 보안, 프라이버시, 유용성, 모듈성, 호환성과 같이 정말로 중요한 것들로부터 스포트라이트를 빼앗는 데 사용됩니다. 피>
속도 벤치마크는 사랑스러운 매트릭스와 같은 비디오와 패러디를 만들고, 벤치마크는 포럼에서 팬보이를 열광하게 만들고, 벤치마크는 Design of Experiment에 대한 기본 단서가 없는 사람들이 작성한 기사에서 매력적인 제목을 만들지만, 삶을 더 빠르게 만들지는 않습니다. 피>
피>
소프트웨어는 브라우징 경험의 일부일 뿐입니다. 그리고 우리는 사용자를 잊습니다. 클릭하는 사람. 사람들은 더 이상은 아니더라도 몇 초 만에 생각합니다. 렌더링 엔진을 최적화하여 가학적인 완벽함까지 얻는 밀리초의 차이는 Facebook에서 진정한 친구와 이야기하거나 이 유명인에 대한 기사를 읽고 싶어하는 사람들에게는 손실됩니다. 피>
대부분의 사람들은 브라우저가 무엇인지 모릅니다. 오늘날에도 대부분의 Windows 사용자는 운영 체제와 함께 제공되는 기본 브라우저인 Internet Explorer를 실행합니다. 일반 사용자에게 인터넷은 Internet Explorer와 동의어입니다. 브라우저는 나뭇잎과 부드러운 새싹을 먹는 것입니다. Javascript는 Java 섬에서 사용되는 이상한 종류의 문자입니다. Benchmark는 아마도 갓 칠한 공원 벤치의 경고 표시일 것입니다. 피>
괴짜들은 그들의 밀리초를 좋아할 수 있지만 전혀 차이가 없습니다. 최악의 경우 브라우저는 완벽할 수 있지만 평균적인 사람들이 사용합니다. 바보에게 완벽한 제품을 제공하는 것보다 더 나쁜 것이 있다면 그것이 무엇인지 생각할 수 없습니다. 리얼리티 TV를 보거나 화학을 공부하거나 우주선 사고로 죽는 것을 제외하고요. 피>
그러나 그것은 열광적이며 잡혔습니다. 한 브라우저 벤더는 자신이 가장 빠른 제품을 가지고 있다고 소리 지르기로 결정했고 나머지도 그 뒤를 따랐습니다. 아무도 감히 멈추고 생각하지 않습니다. 너무 위험해. 현대인이 되고자 하는 이 인종에서 구식으로 보이기를 원하는 사람은 아무도 없습니다. 피>
이제 고급스럽고 기술적으로 들리기를 원하는 모든 웹사이트는 실제로 증명할 수 없는 것을 증명하기 위해 대량으로 반복되는 따옴표와 숫자를 사용하여 Javascript 및 기타 등등에 대해 길고 거창한 단어를 작성합니다. 100번째 원숭이 효과입니다. 브라우저 벤치마크는 브라우저 벤치마킹의 성배가 되었습니다. 원래 의도가 무엇인지는 정말 중요하지 않습니다. 문제 없어. 이것이 무엇을 의미하든 가장 빠른 브라우저가 있어야 합니다. 마지막으로 ... 브라우저에서 Javascript를 끄면 이 모든 멋진 벤치마크가 무의미해집니다. 원래대로 텍스트로 돌아갑니다. 오, 그건 잔인해. 피>
피>
디저트
그러나 거의 거기서 멈추지 않습니다. HTML5 및 브라우저 코덱을 입력하십시오. 브라우저 벤치마크가 어리석다고 생각했다면 이것이 무엇인지 알아야 합니다. 그러나 그것은 전혀 다른 이야기입니다. 아마도 다른 기사일 것입니다. 상단의 탭에 대해서도 이야기하겠습니다! 피>
결론
이 기사가 마음에 드셨기를 바랍니다. 그러나 당신은 아마하지 않았다. 당신은 페르시아 무리에 맞서는 스파르타인의 신념으로 당신의 브라우저가 기술의 정점이며 삶, 우주 및 모든 것에 대한 답을 담고 있다고 확신합니다. 그러나 그렇지 않습니다. 그리고 Javascript는 한마디로 과대평가되었습니다. 피>
브라우저가 자연스러운 속도로 작동하도록 하기 전에 컴퓨터 설정에 조정할 수 있는 최소 10개의 변수가 있다고 장담합니다. 느린 것은 브라우저가 아닙니다. 브라우저를 비난하지 마십시오. 괜찮아. Internet Explorer를 제외하고. 그러나 버전 9는 합리적으로 보입니다. 피>
어쨌든 Javascript 벤치마킹은 모두 훌륭하지만 현실과 관련이 없습니다. 모든 실용적인 목적을 위해 기니피그가 브라우저에 전원을 공급하도록 할 수 있습니다. 말도 안 되는 일에 대해 걱정하고 신경쓰느라 시간을 낭비하지 말고 브라우저 W3C 규정 준수 및 안정성과 같은 중요한 일에 집중하십시오. 지금, 당신은 사업을 말하고 있습니다. 피>
건배. 피>