2008-09-19 2 views
1

AJAX를 과도하게 사용하면 성능에 영향을 줍니까? 큰 규모의 웹 응용 프로그램과 관련하여 AJAX 요청을 처리하여 비동기 요청을 제어하는 ​​방법은 무엇입니까?Ajax는 성능을 저해합니까?

+0

이것은 너무 모호합니다. 어떤 성능에 영향을 줍니까? 무슨 아약? – SCdF

답변

9

과도하게 사용하면 성능이 저하됩니다. 필요한 경우 AJAX를 사용하여 성능을 향상시킬 수 있습니다. 특히 서버에 대한 전체 페이지 왕복 이동 [asp.net 용어의 '포스트 백]

1

AJAX 자체 (비동기 요청) ... 일반적인 것은 아닙니다.

그러나 자바 스크립트 및 마크 업이 풍부하고 xmlhttprequests를 통해 많은 양의 데이터가 전송 된 경우 성능이 저하 될 수 있습니다. 당신이 웹 사이트를 어떻게 기능화 하느냐에 달려 있습니다. 제대로 조각을 내면 일반적으로 피할 수 있습니다.

0

Ajax는 일반적인 HTTP 요청이므로 long 서버가 이러한 요청을 처리 할 수 ​​있으므로 문제가되지 않습니다. Ajax의 장점은 페이지가 모든 사용자 작업에 대해 다시로드되고 다시 그리기 할 필요가 없으므로 사용자가보다 빨리 인식 할 수 있다는 것입니다.

확장성에 문제가있는 경우 팜에 웹 서버를 추가하여 시스템을 수평 적으로 확장해야합니다. 어쨌든 Ajax가 아닌 웹 애플리케이션에서도 마찬가지입니다.

-1

사이트가 바쁜 경우 팜에 있지 않으면 서버가 종료됩니다. 사이트 자체에 대해서는 이 아니어야합니다.

0

AJAX는 모든 기술과 마찬가지로 상황이나 구현 방법에 따라 좋은 것 또는 나쁜 것일 수 있습니다. 비동기 프로세스에 대한 특별한 필요성이있는 경우이를 사용하는 것이 좋습니다. 그러나 무책임하게 사용하면 문제가 발생할 수 있습니다. 당신이 그것을 사용한다면, 대부분의 무거운 짐을지고 좋은 AJAX의 단점을 알고 프레임 워크를 찾으려고 노력하십시오 ... http://learningremix.net/w2007integ/vangoori/2007/01/the_downsides_of_ajax.shtml

1

정확히 무슨 성능? 사용자 경험 측면에서 애플리케이션의 성능을 의미한다고 가정합니다.

필요한 경우에만 Ajax가 네트워크 트래픽을 유발하는 것으로 보입니다. 하나의 히트 곡에서 멋진 웹 페이지를 다운로드하는 대신 가능한 한 빠른 방법으로 필요한 내용 만 다운로드합니다.

그런 다음 더 많은 정보가 필요한 작업을 수행하면 네트워크로 연결됩니다.

이것은 사용하지 않은 물건이 다운로드되지 않는다는 것을 의미합니다 (물론 올바른 디자인이라면 - 나쁜 코드는 다른 환경과 마찬가지로 Ajax로 작성 될 수 있습니다).

나는 데이터 전송을 위해 Ajax 메소드를 혼합하고 예쁜 인터페이스를 위해 jQuery와 같은 클라이언트 측 라이브러리를 선호한다.

1

상황에 따라 AJAX는 성능 오버 헤드가 있거나 AJAX를 사용하지 않는 동등한 성능의 웹 사이트보다 실제로 성능이 좋을 수 있습니다.

AJAX를 과도하게 사용하면 서버에 과부하 요청이 너무 많이 발생하며 클라이언트 CPU에 부담이 될 수 있습니다. 반대로 AJAX는 각 요청에 대해 전체 페이지가 아닌 작은 비트의 HTML 및 기타 코드를 전달하는 데 사용할 수도 있습니다. 이는 서버에 최소한의 부담이됩니다.

4

이 이야기의 양면이 있습니다.

AJAX는 일반적으로 클라이언트의 관점에서 성능을 향상시킵니다. 전체 페이지를로드하는 대신 필요할 때 서버에서 더 적은 양의 데이터를 요청합니다. HTML 페이지가 종종 많은 종속 파일 (이미지, CSS, 자바 스크립트 등)을 참조하면 AJAX를 현명하게 사용함으로써 클라이언트 성능이 현저해질 수 있습니다.

서버 쪽에서 문제는 더 많은 연결을 관리해야하는 문제 중 하나입니다. 특히 브라우저 내 채팅과 같은 폴링 응용 프로그램은 브라우저가 서버를 훨씬 빠르게 작동시키기 때문에 실제로 서버의로드를 증가시킬 수 있습니다. 일반적인 동적 응용 프로그램 (응답이 정적 파일이 아닌 코드에 의해 생성되는 경우)에서는 문제가 발생하기 시작할 수 있습니다. 그러나 일반적으로 요청 복잡성이 훨씬 낮다는 점이 일반적으로 균형을 이룹니다 (다시 말하면, 페이지 전체를 생성하지만 페이지의 일부분 만 생성하므로) 어떤 경우에도 플랫폼이 더 높은 처리량을 얻을 수 있습니다.

성능 문제의 정확한 결과는 서버, 플랫폼, 프레임 워크 및 당시의 일반적인 클라이맥스 조건을 비롯한 여러 요인에 따라 달라질 수 있습니다.

궁극적 인 조언 - 우수한 사용자 경험을 창출하고, 지능적으로 개발하며, 가능한 한 많은 측정 항목을 수집하고 을 알고있을 때을 알면 집중하십시오.

0

나는 여기 꽤 많은 다른 게시물에 동의 할 것이다. 지능적인 방법으로 (즉, 30 초마다 아약스를 사용하지 않고) 사용한다면, 괜찮을 것입니다. 내 웹 사이트에서 아약스를 사용하고 클라이언트의 관점에서 아약스 버전은 거의 동일한 속도에서 4 배 빠른 속도로로드됩니다. 그것은 모두 웹 사이트의 디자인 (그래픽 및 기타 컨텐츠)과 업데이트 대상에 달려 있습니다.

단점은 일부 프레임 워크를로드해야하기 때문에 (내가 가지고있는 것처럼 자신 만의 프레임 워크를 만들더라도) 첫 번째 페이지의로드가 조금 느려지거나 전체 새로 고침이 발생하고 처리로드 조금. 하지만 이는 아약스가 생산성을 높이고 사용자가 더 많은 요청/업데이트를 할 수 있기 때문입니다.