programing

PHP 스크립트/WP REST API에 대한 동시 AJAX 요청이 왜 이렇게 느리죠?

powerit 2023. 4. 3. 21:48
반응형

PHP 스크립트/WP REST API에 대한 동시 AJAX 요청이 왜 이렇게 느리죠?

조사 끝에 질문 제목을 업데이트했습니다.아래 업데이트 내용을 확인해 주세요.

첫 번째 질문:

Wordpress로 웹사이트를 구축하고 있으며 WP REST API 엔드포인트에 대한 비동기 호출을 가끔 사용합니다.

AJAX 함수에서 이 엔드포인트를 호출하면 최소 780ms의 TTFB 시간이 발생하는 경우가 많습니다.

여기에 이미지 설명 입력

그러나 브라우저에서 직접 URL/엔드포인트를 열면 TTFB 시간이 4~5배 빨라집니다.

여기에 이미지 설명 입력

지연은 어디서 오는 건지 궁금하네요.Apache 2.4, HTTP/2 및 PHP 7이 활성화된 로컬 개발 서버에서 이 페이지를 실행하고 있습니다.

이러한 퍼포먼스의 「문제」를 감시하는 최선의 방법은 무엇입니까?

주의해 주세요.워드프레스에 내장된 AJAX 기능을 사용하지 않습니다.그냥 전화하는 거야

axios.get(`${url}/wp-json/wp/v2/flightplan`)

홈 페이지 템플릿에 마운트한 React 컴포넌트 안에 있습니다.

갱신하다

흥미로운 점은 쿠키를 지우면 TTFB가 크게 감소한다는 것입니다.

여기에 이미지 설명 입력

업데이트 2

다른 두 개의 AJAX 콜을 모두 삭제한 후flightplan요구가 훨씬 더 빠르게 수행됩니다.AJAX의 동시 요청에 문제가 있는 것 같습니다.세션 잠김에 대해 조금 읽었지만 Wordpress 및 설치된 모든 플러그인이 세션을 사용하지 않기 때문에 이것이 이유가 될 수 없습니다.

업데이트 3

확실히 로컬 서버 설정과 관련이 있습니다.사이트를 「실제」웹 서버에 도입했습니다.

여기에 이미지 설명 입력

그러나 동시에 처리할 수 있는 서버를 설정하는 방법은 여전히 흥미롭습니다.

업데이트 4

간단한 테스트를 해봤습니다. "진짜"를 호출하기 전에 4개의 더미 요청을 호출합니다.스크립트는 "Foobar" 문자열만 반환합니다.현시점에서는 모든 것이 정상으로 보입니다.

여기에 이미지 설명 입력

단, 추가할 때sleep(3)더미 AJAX 스크립트에 대한 다른 모든 요구도 훨씬 더 오래 걸립니다.

여기에 이미지 설명 입력

왜요?

Ajax 콜은 모든 WP 플러그인의 로드를 대기하기 때문입니다.

따라서 플러그인을 사용하지 않고 테스트를 수행하여 Ajax 호출이 느려지는 테스트를 하나씩 활성화해야 합니다.

언급URL : https://stackoverflow.com/questions/38868319/why-are-my-concurrent-ajax-requests-to-php-scripts-wp-rest-api-so-slow

반응형