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
'programing' 카테고리의 다른 글
HttpClient에 개체를 전달하려면 어떻게 해야 합니까?PostAsync와 JSON 바디로 시리얼화하시겠습니까? (0) | 2023.04.03 |
---|---|
GSON을 사용하여 JSON 파일을 해석하는 방법 (0) | 2023.04.03 |
배열에 값이 있는지 확인합니다(각도).JS) (0) | 2023.04.03 |
작은 따옴표를 큰 따옴표로 구분하는 방법 (0) | 2023.04.03 |
리액트의 cdn/script 태그에서 javascript 패키지를 Import하려면 어떻게 해야 하나요? (0) | 2023.04.03 |