2011-01-17 6 views
1

성능 측면에서 볼 때 더 나은 솔루션이 될 것입니다. 여기에 아주 작은 예가 있습니다. PHP 스크립트는 jQuery에 숫자를 반환하는데, 1 인 경우 페이지를 "1 인", 그렇지 않으면 "X 명"이라고 말해야합니다.jQuery vs. PHP - 성능 비교

PHP 스크립트가이 검사를하고 "x persons"을 반환하는 것이 더 빠르지 않습니까, 아니면 jQuery가 숫자를 얻은 후에 그것을 수행하는 것이 더 빠릅니까?

+4

답변은 다음과 같습니다. 중요하지 않습니다. 성능은 웹 개발의 마지막 관심사 여야합니다. 안전하고, 기능적이며, 신뢰성 있고 유지 보수가 용이하도록하십시오. 예를 들어, 성능 최적화를 위해 이전에 네 가지 이유로 json으로 인코딩 된 배열 인'{num_persons : 1} '을 보내 주겠다. – meagar

답변

7

나는 다른 케이스가 있다고 가정하고 있는데, 이는 단지 예제 일뿐입니다. 수표는 매우 작은 금액이므로 차이를 측정 할 수 있을지는 모르겠지만 이러한 수표가 많다고 말할 수 있습니다.

@mkoryak에 따르면 jQuery는 클라이언트 측이며 PHP는 서버 측입니다. 10^5 명의 사용자가이 요청을하면 jQuery에서이 작업을 수행 할 때 약간의 차이가있을 수 있습니다. 모든 사용자가 한 번만 (차이점을 볼 수는 없지만) 서버가 10^5 개보다 적은 작업을 수행합니다. 다른 방법으로는 서버가 클라이언트보다 훨씬 빠르기 때문에 1 클라이언트 (소수 또는 단일 클라이언트)에 대한 많은 계산이 서버에서 더 잘 수행 될 수 있습니다 (PHP가 선택 될 수 있음).

@slebetman은 다음과 같이 결론 짓습니다. 적은 수의 클라이언트의 경우 일반적으로 서버 측 코드가 빠릅니다. 매우 많은 클라이언트의 경우 클라이언트 측 코드로 작업량을 줄이면 성능이 크게 향상 될 수 있습니다. @scunliffe의 대답은 다음과 같습니다 : 여러분의 sollution을 stresstest로 테스트하십시오!

+3

나는 이것이 옳은 대답이라고 믿지만 그 언어는 너무 분명하지 않다. 첫 번째 문장과 두 번째 문장은 같은 문단에 있어야하고,'..jQuery is clientside PHP is serverside..' 비트를 자체 단락으로 분리해야합니다. 왜냐하면 이것이 대답의 핵심이기 때문입니다. 또한, 나는이 문장으로 요약해야한다고 생각하며, 독자적으로 단락으로 요약하는 것이 바람직하다고 생각한다.'소수의 고객에게는 서버 측 코드가 일반적으로 더 빠릅니다. 매우 많은 수의 클라이언트의 경우 클라이언트 측 코드로 작업량을 줄이면 성능이 크게 향상 될 수 있습니다. ' – slebetman

+0

맞습니다. 나는 당신이 – Nanne

+0

"요청"을 제안 할 때 몇 가지 물건을 바꿀 것인가? -이게 "요청하는"의미 였나요? – scunliffe

0

jquery는 클라이언트에서 실행되며 php는 서버에서 실행됩니다. 다른 하나가 끝날 때까지 실행을 시작하지 않기 때문에 2의 속도를 비교할 수 없습니다.

는 PHP

7

정답에 모든 것을 할 것은 항상 - 테스트/벤치 마크 그것. 그렇게하면 어떤 것이 더 나은지 알 수 있습니다.

즉, PHP (서버 측 언어)와 jQuery (클라이언트 측 언어)의 기본 비교를 수행하는 경우 서버 측이 더 빠를 것입니다. 그러나 그것은 항상 당신이 처리하려고하는 논리에 달려 있습니다.

+1

테스트는 성능 관련 질문에 대한 최상의 대답입니다. –

+0

jQuery는 언어가 아닙니다 ... –

+1

알겠습니다 ...하지만 JavaScript는 언어이고 jQuery는 JavaScript 위에 구축 된 프레임 워크입니다. – scunliffe

0

귀하의 서버 하드웨어에 따라 다를 수 있지만 귀하의 사이트의 전반적인 성능을 고려할 때 클라이언트 측에서 이러한 "장식"을하는 것이 좋습니다.

편집 : 플러스 당신은 클라이언트에 제출할 데이터가 적습니다.

3

저는 PHP가 매우 느린 서버에서 실행되고 클라이언트 컴퓨터가 매우 빠르지 않는 한 속도 문제는 아니라고 생각합니다. 더 많은 질문이 있습니다. 이 더 적절합니다..

페이지 (및 jQuery 등)가로드되면이 변경 사항을 브라우저에 적용 할 이유가 없으므로이 예제에서는 PHP로 이동하겠다.

일반적인 조언으로 - 평범하게 저하되는 추가 "장식"(예 : 슬라이드 쇼 등)을 사용하여 "기본"(예 : 자바 스크립트없는) 사용자 환경에 가치를 추가하려고 시도하지 않는 한, 서버에서 수행하십시오.)

0

실제로는 성능 병목 현상이 다른 곳에있을 수 있습니다.

JS에서 지원하지 않는 브라우저를 지원하는 것이 다시 중요합니다 (성능이 저해 된 모바일 장치, 웹 거미 및 기타 등).

0

숫자가 OWN 웹 사이트의 리소스에서 오는 것으로 가정합니다 (구문 분석하려는 다른 웹 사이트의 값이 아님) : PHP가 빠릅니다.

  • 오버 헤드 나는
  • 다음이 다른 페이지에서 값 인 경우,

그것을 구문 분석하는 AJAX 쿼리를 수행하는 페이지로드 이벤트를 기다리고되지 않음 (페이지 실행에 완료) 여전히 PHP는 더 빠르다고 믿고 있습니다 (cURL/fopen [사이트에서 허용하는 경우] 등). 페이지가 사용자에게 공급되기 전에 실행되는 것과 사용자에게 부하를 가하고 페이지가 먼저로드되어 필드를 채우는 것을 기다리는 것과 달리 실행중인 것의 차이를 이야기하는 것입니다.

현실적으로는 사용자 경험을 원하는 방식에 달려 있습니다. 페이지를로드 할 때 최대한 원활하게로드하거나로드하기를 원하십니까?

0

성능면에서 성능을 고려하고 있다고 생각합니다. PHP는 SERIDE이고 jQuery는 CLIENT-SIDE라고 말합니다. PHP의 실행 시간은 서버 아키텍처 및 구성에 따라 다릅니다. jQuery는 클라이언트의 컴퓨터 기능을 기반으로합니다. jQuery는 자바 스크립트가 비활성화 된 구형 브라우저 또는 브라우저에서도 작동하지 않습니다. PHP는 표준 HTML을 렌더링하므로 모든 브라우저 으로 표시해야합니다 (분명히 설계상의 문제와 호환성에 대한 설명이 아닙니다).