[developer-tools] 대기 (TTFB) 시간을 줄이는 방법

생성 된 시간을 기준으로 정렬 된 순서로 테이블에서 사용자 목록을 가져 오는 쿼리가 있습니다. 크롬 개발자 도구에서 다음 타이밍 다이어그램을 얻었습니다.

크롬에서 타이밍

TTFB (첫 번째 바이트까지의 시간)가 너무 높다는 것을 알 수 있습니다.

SQL 정렬 때문인지 확실하지 않습니다. 이것이 이유라면 어떻게이 시간을 줄일 수 있습니까?

아니면 TTFB 때문입니까? TTFB가 1 초 미만이어야한다는 블로그를 보았습니다. 그러나 나를 위해 그것은> 1 초를 보여줍니다. 내 질문 때문인가요 아니면 다른 것인가요?

이 시간을 어떻게 줄일 수 있을지 모르겠습니다.

각도를 사용하고 있습니다. SQL 정렬 대신 각도를 사용하여 테이블을 정렬해야합니까? (많은 게시물이 문제가되지 않아야한다고 말합니다.)

제가 알고 싶은 것은 TTFB를 어떻게 줄일 수 있는지입니다. 여러분! 나는 실제로 이것에 익숙하지 않습니다. 그것은 우리 팀원들이 내게 주어진 임무입니다. TTFB 시간을 어떻게 줄일 수 있는지 잘 모르겠습니다. 많은 게시물을 보았지만 제대로 이해하지 못했습니다. TTFB는 무엇입니까? 서버에 걸리는 시간입니까?



답변

TTFB는 응답 본문의 첫 번째 바이트 (예 : json, xml 등의 유용한 데이터)에 걸리는 시간이 아니라 서버에서 수신 한 응답의 첫 번째 바이트에 도달하는 시간입니다. 이 바이트는 응답 헤더의 시작입니다.

예를 들어 서버가 어려운 작업 (예 : 무거운 SQL)을 수행하기 전에 헤더를 전송하면 TTFB가 매우 낮아 지지만 “true”는 아닙니다.

귀하의 경우 TTFB는 서버에서 데이터를 처리하는 데 소비하는 시간을 나타냅니다.

TTFB를 줄이려면 서버 측 작업을 더 빨리 수행해야합니다.


답변

나는 같은 문제를 만났다. 내 프로젝트가 로컬 서버에서 실행 중입니다. 내 PHP 코드를 확인했습니다.

$db = mysqli_connect('localhost', 'root', 'root', 'smart');

localhost내 로컬 데이터베이스에 연결 하는 데 사용합니다. 그것은 아마도 당신이 설명하고있는 문제의 원인 일 것입니다. HOSTS파일을 수정할 수 있습니다. 라인 추가

127.0.0.1 localhost.


답변

TTFB는 뒤에서 일어나는 일입니다. 브라우저는 뒤에서 일어나는 일에 대해 아무것도 모릅니다.

실행중인 쿼리와 웹 사이트가 서버에 연결되는 방식을 조사해야합니다.

기사는 TTFB를 이해하는 데 도움 될 수 있지만 그렇지 않으면 애플리케이션에 대해 더 깊이 파헤쳐 야합니다.


답변

기사 를 읽는 것이 좋습니다. 사용자 요청 (페이지, 검색 결과 등)에 대한 전체 응답을 최적화하는 방법에 더 중점을 두는 .

이에 대한 좋은 주장은 gzip을 사용하여 페이지를 압축하는 방법에 대한 예제입니다. 압축하지 않으면 ttfb가 더 빠르지 만 압축되지 않은 콘텐츠를 다운로드하는 데 시간이 더 오래 걸리기 때문에 사용자의 전반적인 경험은 최악입니다.


답변

당신이 PHP를 사용하는 경우, 사용 시도 <?php flush(); ?></head>와 전</body> 당신이 (헤더 또는 콘텐츠 등) 신속하게 출력하고 싶은 부분이든. PHP가 끝날 때까지 기다리지 않고 실제 코드를 출력합니다. 이 기능을 항상 사용하지 마십시오. 그렇지 않으면 속도 증가가 눈에 띄지 않게됩니다.

더 많은 정보


답변