웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.에는 많은 것들이 있습니다. 그러나 빠른 것은 그중 하나가 아닙니다. 작업을 더 빠르게 실행하기 위한 몇 가지 최적화 팁을 알아봅시다!
라라벨 탄생 이후 그녀의 영향을 받지 않은 PHP 개발자는 없습니다. 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.이 제공하는 빠른 개발을 좋아하는 주니어 또는 중간 수준의 개발자이거나, 시장 압력으로 인해 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 배워야 하는 시니어 개발자입니다.
어쨌든 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.이 PHP 생태계에 활력을 불어넣었다는 것은 부인할 수 없습니다(웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.이 없었다면 저는 오래 전에 PHP 세계를 떠났을 것입니다).
웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다. 리뷰에서 발췌
그러나 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.은 작업을 쉽게 만들기 위해 노력했기 때문에 개발자로서 여러분이 편안한 프로그래밍을 할 수 있도록 내부적으로 많은 작업을 수행한다는 의미입니다. 경험 . 라라벨의 모든 겉보기에 "마법같은" 기능은 기능이 실행될 때마다 시작되어야 하는 코드 레이어 위에 레이어를 가지고 있습니다. 간단한 예외라도 맨 아래까지 드릴다운됩니다(오류부터 시작하여 커널까지).
한 보기에서 컴파일 오류로 보이는 것을 추적하기 위한 18개의 함수 호출이 있습니다. 저는 개인적으로 40개를 발견했는데, 다른 라이브러리와 플러그인을 사용한다면 더 많을 수도 있습니다.
중요한 점은 기본적으로 이러한 중첩 코드 레이어로 인해 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.이 매우 느려진다는 것입니다.
웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.은 얼마나 느립니까?
솔직히 이 질문에는 여러 가지 이유로 답변이 불가능합니다.
우선 현재 네트워크 애플리케이션의 속도를 측정할 수 있는 인정되고 객관적이며 합리적인 표준이 없습니다. 무엇에 비해 빠르거나 느립니까? 어떤 조건에서?
두 번째, 웹 애플리케이션은 여러 가지(데이터베이스, 파일 시스템, 네트워크, 캐시 등)에 의존하므로 속도에 대해 이야기하는 것은 어리석은 일입니다. 매우 빠른 웹 애플리케이션은 데이터베이스가 매우 느린 경우 매우 느린 웹 애플리케이션입니다.
그러나 이러한 불확실성이 바로 벤치마킹이 인기를 끄는 이유입니다. 말이 안 되더라도(여기 및 여기 참조), 화를 피하는 데 도움이 되는 일부 참고 틀을 제공합니다. 따라서 약간의 소금을 사용하여 PHP 프레임워크 간의 속도에 대한 잘못된 대략적인 아이디어를 제공하는 것이 가장 좋습니다.
이 꽤 존경할만한 GitHub 소스 코드를 기반으로 PHP 프레임워크를 비교했습니다.
끝까지 눈을 돌리지 않는 한, 아마도 여기에서 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 전혀 눈치 채지 못할 것입니다(눈을 가늘게 뜨고 있어도). 네, 친구 여러분, 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.이 마지막에 옵니다! 물론, 이러한 "프레임워크"의 대부분은 그다지 실용적이지도 유용하지도 않습니다. 하지만 이는 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.이 다른 인기 있는 프레임워크와 비교하여 얼마나 느린지를 말해줍니다.
일반적으로 이러한 "느림"은 응용 프로그램에 나타나지 않습니다. 왜냐하면 일상적인 웹 응용 프로그램은 높은 데이터 볼륨에 거의 도달하지 않기 때문입니다. 그러나 일단 도달하면(예를 들어 최대 200-500개 이상의 동시성) 서버가 차단되고 죽기 시작합니다. 현재로서는 아무리 많은 하드웨어를 버려도 문제가 해결되지 않습니다. 인프라 비용은 급격히 증가하고 클라우드 컴퓨팅에 대한 높은 이상은 붕괴됩니다.
하지만 여러분, 힘내세요! 이 글은 하지 말아야 할 일이 아니라 할 수 있는 일에 관한 것입니다.
좋은 소식은 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다. 애플리케이션을 더 빠르게 만들기 위해 할 수 있는 일이 많다는 것입니다. 속도가 몇배나 됩니다. 예, 농담이 아닙니다. 동일한 코드 기반을 빠르게 만들고 인프라/호스팅 비용을 매월 수백 달러 절약할 수 있습니다. 어떻게 하나요? 시작해 봅시다.
네 가지 유형의 최적화
제 생각에는 최적화는 네 가지 수준에서 수행될 수 있습니다(즉, PHP 애플리케이션의 경우).
언어 수준: 더 빠른 언어 버전을 사용한다는 뜻입니다. 코드를 느리게 만드는 언어의 특정 기능/코딩 스타일을 피하세요.
프레임워크 수준: 이 기사에서 다룰 내용은 다음과 같습니다.
인프라 수준: PHP 프로세스 관리자, 웹 서버, 데이터베이스 등을 조정하세요.
하드웨어 수준: 더 우수하고 빠르며 강력한 하드웨어 호스팅 제공업체로 이동하세요.
이러한 모든 유형의 최적화가 존재합니다(예를 들어 php-fpm의 최적화는 매우 중요하고 강력합니다). 하지만 이 기사의 초점은 순전히 유형 2 최적화, 즉 프레임워크와 관련된 최적화에 있습니다.
그런데, 이 숫자 뒤에는 이유가 없으며 이는 허용되는 표준이 아닙니다. 나는 이것을 방금 만들었습니다. "우리 서버에는 유형 3 최적화가 필요합니다"라고 말할 때 내 말을 인용하지 마십시오. 그렇지 않으면 팀 리더가 당신을 죽이고, 나를 찾고, 나도 죽일 것입니다.
이제 우리는 드디어 약속의 땅에 왔습니다.
n+1 쿼리 문제는 ORM을 사용할 때 흔히 발생하는 문제입니다. 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.에는 Eloquent라는 강력한 ORM이 있는데, 이는 너무 아름답고 편리해서 우리는 종종 무슨 일이 일어나고 있는지 잊어버립니다.
매우 일반적인 시나리오를 생각해 보세요. 지정된 고객 목록에 접수된 모든 주문을 표시합니다. 이는 전자 상거래 시스템과 일부 엔터티와 관련된 모든 엔터티 목록을 표시해야 하는 모든 곳에서 매우 일반적입니다.
다음과 같은 컨트롤러가 있다고 상상할 수 있습니다.
class OrdersController extends Controller { // ... public function getAllByCustomers(Request $request, array $ids) { $customers = Customer::findMany($ids); $orders = collect(); // new collection foreach ($customers as $customer) { $orders = $orders->merge($customer->orders); } return view('admin.reports.orders', ['orders' => $orders]); } }
훌륭합니다! 게다가 우아하고 아름답습니다. ??
안타깝게도 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.에서 이와 같은 코드를 작성하는 것은 비참한 접근 방식입니다.
이유는 다음과 같습니다.
ORM을 사용하여 특정 고객 엔터티를 찾으면 다음과 같은 SQL 쿼리가 생성됩니다.
SELECT * FROM customers WHERE id IN (22, 45, 34, . . .);
이것은 정확히 예상한 대로입니다. 결과적으로 반환된 모든 행은 컨트롤러 함수의 $customers
컬렉션에 저장됩니다. $customers
中。
现在我们逐一循环处理每个客户,并获取他们的订单。这将执行下面的查询……
SELECT * FROM orders WHERE customer_id = 22;
……有多少客户就有多少次。
换句话说,如果我们需要获取 1000 个客户的订单数据,那么执行的数据库查询总数将是1(用于获取所有客户的数据)+1000(用于获取每个客户的订单数据)=1001。这就是 n+1 这个名字的由来。
我们可以做得更好吗? 当然可以! 通过使用预加载,我们可以强制 ORM 执行 JOIN,并在一次查询中返回所有需要的数据! 就像这样:
$orders = Customer::findMany($ids)->with('orders')->get();
由此产生的数据结构是一个嵌套结构,当然,但订单数据可以很容易地提取出来。在这种情况下,产生的单个查询是这样的。
SELECT * FROM customers INNER JOIN orders ON customers.id = orders.customer_id WHERE customers.id IN (22, 45, ...);
当然,一次查询比多查询一千次要好。想象一下,如果有一万个客户要处理,会发生什么情况!或者说,如果我们还想显示每个订单中包含的项目,那简直就是天方夜谭!记住,这个技术的名字叫预加载,它几乎在任何时候都能派上用场。
웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다. 的灵活性的原因之一是它有大量的配置文件, 这些文件是框架的一部分。想要改变图片的存储方式/位置?
好吧,只要修改 config/filesystems.php
文件就可以了(至少写到这里)。想要使用多个队列驱动?可以在 config/queue.php
中随意描述。我刚刚统计了一下,发现针对框架的不同方面有 13 个配置文件,保证你无论想改什么都不会失望。
鉴于 PHP 的特性,每当一个新的 Web 请求进来,웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다. 就会被唤醒, 启动所有的东西, 并解析所有的配置文件来找出这次该如何做不同的事情。 如果这几天什么都没变,那就太傻了!每次请求都要重建配置文件是一种浪费,这是可以 (实际上,必须) 避免的,解决的办法是 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다. 提供的一个简单的命令:
php artisan config:cache
这样做的目的是把所有可用的配置文件合并成一个文件,并缓存在某个地方以便快速检索。 下一次有 Web 请求的时候,웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다. 会简单地读取这个单一的文件并开始工作。
也就是说,配置缓存是一个极其微妙的操作,可能会在你的面前炸开。最大的陷阱是一旦你发出这个命令,除了配置文件之外,其他地方的 env()
函数调用都会返回 null
!
仔细想想确实有道理。如果你使用配置缓存,你就是在告诉框架:「你知道吗,我觉得我已经把东西设置得很好了,我 100% 确定我不希望它们改变。」 换句话说,你希望环境保持静态,这就是 .env
文件的作用。
说到这里,这里有一些铁定的、神圣的、不可违背的配置缓存规则:
只在生产系统上做。
只有在你非常非常确定要冻结配置的情况下才做。
万一出了问题,用 php artisan cache:clear
撤销设置。
祈祷对企业造成的损失不是很大!
为了帮助大家, 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.在唤醒时加载了大量的服务, 这些服务在 config/app.php
文件中作为 'providers'
/* |-------------------------------------------------------------------------- | Autoloaded Service Providers |-------------------------------------------------------------------------- | | The service providers listed here will be automatically loaded on the | request to your application. Feel free to add your own services to | this array to grant expanded functionality to your applications. | */ 'providers' => [ /* * 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다. Framework Service Providers... */ Illuminate\Auth\AuthServiceProvider::class, Illuminate\Broadcasting\BroadcastServiceProvider::class, Illuminate\Bus\BusServiceProvider::class, Illuminate\Cache\CacheServiceProvider::class, Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, Illuminate\Cookie\CookieServiceProvider::class, Illuminate\Database\DatabaseServiceProvider::class, Illuminate\Encryption\EncryptionServiceProvider::class, Illuminate\Filesystem\FilesystemServiceProvider::class, Illuminate\Foundation\Providers\FoundationServiceProvider::class, Illuminate\Hashing\HashServiceProvider::class, Illuminate\Mail\MailServiceProvider::class, Illuminate\Notifications\NotificationServiceProvider::class, Illuminate\Pagination\PaginationServiceProvider::class, Illuminate\Pipeline\PipelineServiceProvider::class, Illuminate\Queue\QueueServiceProvider::class, Illuminate\Redis\RedisServiceProvider::class, Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, Illuminate\Session\SessionServiceProvider::class, Illuminate\Translation\TranslationServiceProvider::class, Illuminate\Validation\ValidationServiceProvider::class, Illuminate\View\ViewServiceProvider::class, /* * Package Service Providers... */ /* * Application Service Providers... */ App\Providers\AppServiceProvider::class, App\Providers\AuthServiceProvider::class, // App\Providers\BroadcastServiceProvider::class, App\Providers\EventServiceProvider::class, App\Providers\RouteServiceProvider::class, ],
php artisan route:cache
php artisan route:clear
config/filesystems.php
파일을 수정하세요(적어도 이 내용이 작성된 한). 여러 대기열 드라이버를 사용하고 싶으십니까? config/queue.php
에 자유롭게 설명해주세요. 방금 계산을 해보니 프레임워크의 다양한 측면에 대한 13개의 구성 파일이 있으므로 무엇을 변경하고 싶어도 실망하지 않을 것입니다. 🎜🎜🎜🎜PHP의 특성을 보면, 새로운 웹 요청이 들어올 때마다 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.은 깨어나서 모든 것을 시작하고 모든 구성 파일을 구문 분석하여 이번에는 다르게 수행하는 방법을 알아냅니다. 요즘 아무것도 변하지 않으면 어리석은 일이 될 것입니다! 모든 요청에 대해 구성 파일을 다시 작성하는 것은 낭비이므로 피해야 합니다. 해결책은 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.에서 제공하는 간단한 명령입니다: 🎜server { # file truncated # gzip compression settings gzip on; gzip_comp_level 5; gzip_min_length 256; gzip_proxied any; gzip_vary on; # browser cache control location ~* \.(ico|css|js|gif|jpeg|jpg|png|woff|ttf|otf|svg|woff2|eot)$ { expires 1d; access_log off; add_header Pragma public; add_header Cache-Control "public, max-age=86400"; } }
env()
함수 호출이 null
을 반환한다는 것입니다! 🎜🎜잘 생각해보면 말이 되네요. 구성 캐시를 사용하는 경우 프레임워크에 "알다시피, 설정이 꽤 잘 되어 있고 변경되는 것을 100% 확신합니다."라고 말하는 것입니다. 환경이 정적으로 유지되기를 원합니다. 이것이 .env
파일의 역할입니다. 🎜🎜여기에 철갑적이고 신성하며 깨지지 않는 구성 캐싱 규칙이 있습니다. 🎜php artisan 캐시:clear
를 사용하여 설정을 취소하세요. 🎜config/app.php
파일의 'providers'
배열 키의 일부로 사용할 수 있습니다. 내 상황을 살펴보겠습니다: 🎜/* |-------------------------------------------------------------------------- | Autoloaded Service Providers |-------------------------------------------------------------------------- | | The service providers listed here will be automatically loaded on the | request to your application. Feel free to add your own services to | this array to grant expanded functionality to your applications. | */ 'providers' => [ /* * 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다. Framework Service Providers... */ Illuminate\Auth\AuthServiceProvider::class, Illuminate\Broadcasting\BroadcastServiceProvider::class, Illuminate\Bus\BusServiceProvider::class, Illuminate\Cache\CacheServiceProvider::class, Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, Illuminate\Cookie\CookieServiceProvider::class, Illuminate\Database\DatabaseServiceProvider::class, Illuminate\Encryption\EncryptionServiceProvider::class, Illuminate\Filesystem\FilesystemServiceProvider::class, Illuminate\Foundation\Providers\FoundationServiceProvider::class, Illuminate\Hashing\HashServiceProvider::class, Illuminate\Mail\MailServiceProvider::class, Illuminate\Notifications\NotificationServiceProvider::class, Illuminate\Pagination\PaginationServiceProvider::class, Illuminate\Pipeline\PipelineServiceProvider::class, Illuminate\Queue\QueueServiceProvider::class, Illuminate\Redis\RedisServiceProvider::class, Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, Illuminate\Session\SessionServiceProvider::class, Illuminate\Translation\TranslationServiceProvider::class, Illuminate\Validation\ValidationServiceProvider::class, Illuminate\View\ViewServiceProvider::class, /* * Package Service Providers... */ /* * Application Service Providers... */ App\Providers\AppServiceProvider::class, App\Providers\AuthServiceProvider::class, // App\Providers\BroadcastServiceProvider::class, App\Providers\EventServiceProvider::class, App\Providers\RouteServiceProvider::class, ],
我再一次数了数,一共列出了 27 项服务! 现在,你可能需要所有的服务,但不太可能。
例如,我现在正好在构建一个 REST API,这意味着我不需要 Session Service Provider、View Service Provider 等。而且由于我是按照自己的方式来做一些事情,而不是按照框架的默认值来做,所以我也可以禁用 Auth Service Provider、Pagination Service Provider、Translation Service Provider 等。总而言之,对于我的用例来说,这些几乎有一半是不必要的。
仔细审视一下你的应用吧。它是否需要所有这些服务提供者?但是看在上帝的份上,请不要盲目地注释掉这些服务,然后推送到生产中去! 运行所有的测试,在开发机和暂存机上手动检查,并且在扣动扳机之前要非常非常偏执。
当你需要对传入的 Web 请求进行一些自定义处理时,创建一个新的中间件就是答案。现在,打开 app/Http/Kernel.php
并将中间件粘在 web
或 api
堆栈中是很有诱惑力的;这样一来,它就会在整个应用程序中变得可用,而且如果它没有做一些侵入性的事情(例如,像日志或通知)。
然而,随着应用程序的增长,如果所有(或大多数)这些全局中间件都存在于每个请求中,那么这个全局中间件的集合可能会成为应用程序的一个无声负担,即使没有业务原因。
换句话说,要小心你在哪里添加/应用新的中间件。在全局范围内添加一些东西可能会更方便,但从长远来看,性能惩罚是非常高的。我知道如果每次有新的变化都要有选择地应用中间件,你要承受的痛苦,但这是我心甘情愿承受的痛苦,也是我所推荐的!
虽然 Eloquent 让 DB 交互的很多方面变得愉悦,但它是以速度为代价的。作为一个映射器,ORM 不仅要从数据库中获取记录,还要实例化模型对象,并用列数据对其进行填充。
所以,如果你做一个简单的 $users = User::all()
,比如有10000个用户,框架会从数据库中获取 10000 行记录,并在内部做 10000 个 new User()
,并用相关数据填充他们的属性。这是大量的工作在幕后进行,如果数据库是你的应用成为瓶颈的地方,绕过 ORM 有时是个好主意。
这对于复杂的 SQL 查询来说尤其如此,在这种情况下,你必须跳很多的圈子,写一个又一个的闭包,但最终还是能得到一个高效的查询。在这种情况下,最好做一个 DB::raw()
,然后手工写查询。
根据 这个 的性能研究, 即使是简单的插入, Eloquent 也会随着记录数量的增加而变慢:
Web 应用优化中最保守的秘密之一就是缓存。
对于新手来说,缓存的意思是预先计算和存储昂贵的结果(昂贵的 CPU 和内存使用量),并在重复相同的查询时简单地返回。
例如,在一个电商商店里,可能会遇到,在 200 万种产品中,大多数时候人们都会对那些新鲜出炉的、在一定价格范围内的、针对特定年龄段的产品感兴趣。在数据库中查询这些信息是很浪费的——因为查询的内容不会经常变化,所以最好把这些结果存储在我们可以快速访问的地方。
웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다. 内置支持多种类型的缓存。除了使用缓存驱动和从底层构建缓存系统外,你可能还想使用一些웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다. 包,方便模型缓存、查询缓存等。
但是请注意, 在一定的简化用例之外, 预制的缓存包可能会带来更多的问题, 而不是解决这些问题.
当你在 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다. 中缓存一些东西时, 你有几个选项可以选择将需要缓存的计算结果存储在哪里。这些选项也被称为 缓存驱动。所以, 虽然使用文件系统来存储缓存结果是可能的,也是完全合理的,但这并不是缓存的真正目的。
理想情况下,你希望使用内存中(完全活在 RAM 中)的缓存,比如 Redis、Memcached、MongoDB 等,这样在较高的负载下,缓存就能起到至关重要的作用,而不是自己成为瓶颈。
现在,你可能会认为拥有 SSD 磁盘和使用 RAM 棒几乎是一样的,但还差得远。即使是非正式的 基准测试也显示,在速度方面,RAM优于SSD的10-20倍。
在缓存方面,我最喜欢的系统是 Redis。它的速度 快得离谱(每秒 10 万次读取操作是很常见的),对于非常大的缓存系统,可以很容易地演变成一个 集群。
就像应用程序的配置一样,路由不会随着时间的推移而改变,是缓存的理想选择。如果你像我一样无法忍受大文件,并且最终把你的 web.php
和 api.php
分割成几个文件的话,这一点尤其适用。 一个简单的웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.命令就可以把所有可用的路由打包并保存起来, 方便以后的访问:
php artisan route:cache
而当你最终要增加或改变路由时,只需这样做即可。
php artisan route:clear
图片是大多数网络应用的核心和灵魂。巧合的是,它们也是最大的带宽消耗者,也是导致应用程序/网站速度慢的最大原因之一。如果你只是简单地将上传的图片天真地存储在服务器上,然后以 HTTP 响应的方式发送回来,你就会让一个巨大的优化机会溜走。
我的第一个建议是不要在本地存储图片——有数据丢失的问题要处理,而且取决于你的客户在哪个地理区域,数据传输可能会非常缓慢。
相反,选择像 Cloudinary 这样的解决方案,它可以自动动态调整和优化图像的大小。
如果这不可能,使用类似 Cloudflare 的东西来缓存和服务图像,同时它们存储在你的服务器上。
如果连这一点都做不到,调整一下你的网络服务器软件,压缩资产并引导访问者的浏览器去缓存东西,就会有很大的不同。下面是一个 Nginx 配置的片段。
server { # file truncated # gzip compression settings gzip on; gzip_comp_level 5; gzip_min_length 256; gzip_proxied any; gzip_vary on; # browser cache control location ~* \.(ico|css|js|gif|jpeg|jpg|png|woff|ttf|otf|svg|woff2|eot)$ { expires 1d; access_log off; add_header Pragma public; add_header Cache-Control "public, max-age=86400"; } }
我知道图片优化与 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다. 无关, 但这是一个如此简单而强大的技巧 (而且经常被忽视), 所以我忍不住了。
自动加载是 PHP 中一个整洁的、并不古老的功能,它可以说是拯救了这门语言的末日。尽管如此,通过破译给定的命名空间字符串来寻找和加载相关类的过程是需要时间的,在生产部署中,如果需要高性能,可以避免这个过程。 再一次,웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다. 有一个单一命令的解决方案来解决这个问题:
composer install --optimize-autoloader --no-dev
队列 是指当有很多事情时,你如何处理这些事情,而且每件事情都需要几毫秒才能完成。一个很好的例子是发送电子邮件——在网络应用中,一个广泛的用例是当用户执行一些操作时,发出几封通知邮件。
例如,在一个新推出的产品中,你可能希望每当有人下单超过一定值时,公司领导层(大约6-7个电子邮件地址)就会收到通知。假设你的邮件网关能在500ms内响应你的SMTP请求,那么在订单确认启动之前,用户需要等待3-4秒。一个非常糟糕的用户体验,我相信你会同意。
补救的办法是在任务进来的时候就把它们存储起来,告诉用户一切都很顺利,然后再处理它们(几秒钟)。如果出现错误,在宣布失败之前,排队的任务可以重试几次。
虽然队列系统使设置复杂化了一些 (并增加了一些监控开销), 但它在现代Web应用中是不可缺少的。
对于你的 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다. 应用中的任何前端资源,请确保有一个管道可以编译和最小化所有的资源文件。 那些对 Webpack,Gulp,Parcel 等打包器系统很熟悉的人不需要费心,但如果你还没有这样做,웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다. Mix是一个可靠的推荐。
Mix 是一个轻量级的 (老实说,很讨人喜欢!) 围绕Webpack的打包器,它可以处理你所有的 CSS,SASS,JS 等文件。 一个典型的 .mix.js
文件可以像这样小,但仍然可以发挥出巨大的作用。
const mix = require('laravel-mix').mix.js('resources/js/app.js', 'public/js'); mix.js('resources/js/app.js', 'public/js') .sass('resources/sass/app.scss', 'public/css');
当您准备部署生产环境并运行 npm run production
时,它将自动处理导入,最小化,优化以及整个工作流程。 Mix 不仅关心传统的 JS和 CSS 文件,而且还关心您在应用程序工作流程中可能使用的 Vue 和 React 组件。
更多信息参考 这里!
结论
성능 최적화는 과학이라기보다 예술입니다. 수행 방법과 수행할 작업의 양을 아는 것이 무엇을 해야 할지보다 더 중요합니다. 즉, 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다.을 최적화하는 방법에 대해 이야기해 보겠습니다. 애플리케이션에서 무엇을, 얼마나 최적화할 수 있는지에는 제한이 없습니다.
하지만 무엇을 하든 이별에 대한 조언을 남기고 싶습니다. - 최적화는 좋은 이유로 이루어져야 하는 것이지, 듣기 좋거나 사용자가 100,000명이 넘는 애플리케이션이 있어서가 아니라 성능에 대해 편집증적입니다. 실제로 사용자는 10명에 불과합니다.
애플리케이션을 최적화해야 하는지 확실하지 않은 경우 이 말벌의 둥지를 찌르지 마십시오. 제대로 작동하고 때로는 지루함을 느끼지만 해야 할 일을 수행하는 앱은 때때로 실패하는 돌연변이 하이브리드 슈퍼 머신에 최적화된 앱보다 10배 더 좋습니다.
영어 원문 주소: https://geekflare.com/laravel-optimization/
번역 주소: https://learnku.com/laravel/t/47213
[관련 권장 사항: laravel 비디오 튜토리얼]
위 내용은 웹 애플리케이션의 성능을 향상시키기 위해 PHP와 Laravel을 최적화하는 방법에 대해 이야기해 보겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!