• Czas czytania ~6 min
  • 10.08.2022

Wraz z rosnącym tempem firm zorientowanych na technologię, rozwój oprogramowania nabiera tempa. Wiele nowych stosów technologii pojawia się na świecie, aby ułatwić proces tworzenia, a wiele z tych nowych firm używa PHP jako backendu dla swoich aplikacji. PHP, z różnymi aktualizacjami wersji, zyskało popularność wśród programistów.Większość programistów PHP słyszała i pracowała z Laravelem przynajmniej raz. Laravel jest najbardziej znany z tworzenia aplikacji biznesowych i zapewniania bezpieczeństwa aplikacji. Najważniejszą rzeczą, która przyciąga większość programistów, jest to, że umożliwia im wprowadzanie mikro zmian w celu poprawy optymalizacji witryny.

W tym artykule omówimy, w jaki sposób możemy zwiększyć szybkość Twojej aplikacji Laravel. Zacznijmy więc.

Najlepsze sposoby na poprawę wydajności Laravel

Niektóre z poniższych sugestii mogą nie popraw szybkość swojej konkretnej aplikacji, ale możesz wypróbować je wszystkie, a metodą prób i błędów zobaczysz, co jest dla Ciebie najlepsze. Omówmy każdy z nich jeden po drugim.

Korzystaj z narzędzi do monitorowania wydajności Laravel

Narzędzia do monitorowania wydajności Laravel pomagają poprawić wydajność Twojej aplikacji za pomocą metryk i raportów o błędach. Możesz użyć tych statystyk, aby przewidzieć zachowanie swoich użytkowników. Na rynku dostępnych jest wiele narzędzi do monitorowania aplikacji Laravel.

Scout APM pomaga łatwo uzyskać te metryki w jednym pulpicie nawigacyjnym, co pomaga je szybko obserwować. Możesz sprawdzić metryki, takie jak miejsce, w którym użytkownicy opuszczają aplikację, gdzie użytkownicy spędzają najwięcej czasu, złe wywołania interfejsu API itp. Zespoły biznesowe mogą przyjrzeć się danym i zaproponować odpowiednią ścieżkę rozwoju aplikacji.

Optymalizacja zasobów front-end z Laravel Mix

Laravel Mix służy do łączenia różnych arkuszy stylów w jeden pakiet i tworzenia z niego jednego pliku. Larvel Mix jest domyślnie obecny we wszystkich aplikacjach Laravel. Mix Laravel jest zwykle używany do kompilowania różnych plików CSS w jeden plik, dzięki czemu aplikacja nie musi wywoływać dwóch różnych API HTTPS. W związku z tym prędkość aplikacji można nieco zwiększyć.Przykładowy kod do miksowania dwóch plików CSS przy użyciu miksu Laravel jest podany poniżej.

Miksowanie dwóch plików CSS generalnie zwiększa rozmiar generowanego pliku, więc tłumi korzyści uzyskane przez mieszanie dwóch plików CSS. Aby rozwiązać ten problem, optymalizujemy pakiety mix i zmniejszamy rozmiar dla aplikacji na poziomie produkcyjnym. Pomaga w szybkim ładowaniu aplikacji i szybszym czasie reakcji.

mix.styles([
  'public/css/vendor/normalize.css',
  'public/css/styles.css'
  ], 'public/css/all.css');

Powróć do buforowania tak bardzo, jak to możliwe

Laravel zapewnia bardzo pomocne polecenie do buforowania, które pomaga w zwiększenie wydajności. Jest on podany poniżej:

Caching in computer science means using the information already produced in some previous iteration/execution cycle. In any kind of web application, caching plays an important role in increasing the speed of
the website.

For example, let's say an API is called very frequently in the application. In this case, you can simply reuse the response of the API
and use it again and again instead of calling the API again. Caching decreases the API response time of your application, and the cost of database queries.

Możesz użyć tego polecenia do buforowania pliku konfiguracyjnego. Podobnie możesz buforować trasę w Laravel za pomocą następującego polecenia:

php artisan config:cache

Korzystanie z kolejek

php artisan route:cache

Upewnij się Używasz najnowszej wersji

Queues are crucial data structures that could be used to improve the performance of applications. Most of the time, queues are used to send messages either to the end-user or to another service in architecture.
For example, if you want to send messages after they login into your application, you can push the messages into a queue, and they will be sent one by one. Also, using a third-party solution might cause a delay
in sending notifications, but queues will send notifications immediately, giving you a better user response.

Najnowsza wersja PHP jest niezbędna do optymalizacji szybkości działania aplikacji Laravel. Najnowsza wersja zawiera kilka istotnych zmian w stosunku do obecnej wersji Laravela. Dlatego zawsze powinieneś próbować zainstalować najnowszą wersję zarówno PHP, jak i Laravela.

Minyfikacja

Minyfikacja oznacza minimalizację różnych komponentów aplikacji tak bardzo, jak to możliwe.Możesz zoptymalizować różne rzeczy, takie jak kod, konfiguracja po stronie serwera i wykorzystanie zasobów w witrynie. W tej części omówimy rzeczy, które można zminimalizować w aplikacji Laravel.

Minifikacja HTML

< p>Minifikacja HTML to proces upraszczania kodu i dzielenia go na kawałki w celu szybszego ładowania strony, minimalizując wywołania API w interfejsie. Pomaga w szybszej kompilacji kodu i wykonaniu skryptu. Ta metoda może drastycznie skrócić czas ładowania i płynność działania witryny.Jest to również pomocne w debugowaniu błędów, ponieważ mniej kodu jest bardziej zrozumiałe.

Zminimalizuj CSS

CSS odgrywa główną rolę w czasie reakcji witryny. Więcej CSS oznacza więcej stylu; dlatego załadowanie strony zajmie więcej czasu. Do stylizacji witryny można użyć różnych rodzajów ram CSS.Minifikacja CSS obejmuje również usuwanie nieistotnych stylów, złego stylu kodu, usuwanie spacji itp. Ale podczas minifikacji CSS powinieneś być bardzo ostrożny, ponieważ zachowanie wszystkich przeglądarek nie jest takie samo jak ten sam CSS. Różne przeglądarki zachowują się inaczej w stosunku do CSS; dlatego powinieneś poprawnie przetestować swoją aplikację, jednocześnie minimalizując CSS.

Minifikuj JavaScript

Minimalizacja JavaScript jest wykonywana głównie w celu szybszego uruchamiania skryptów niż wersje niezminifikowane. W minifikacji usuwasz nieużywane kody, takie jak wywołania API, definicje zmiennych, nieistotne importy itp. Jeśli wykonasz minifikację javascript ostrożnie, może to drastycznie poprawić wydajność. Pomaga również w szybszym wysyłaniu danych ze strony internetowej na serwery.

Zoptymalizuj wydajność swojej aplikacji Laravel za pomocą Scout APM

Scout APM to nowoczesny system monitorowania aplikacji do monitorowania aplikacji niemal wszystkich typów. Obsługuje wiele frameworków, takich jak PHP, Ruby, Python, Elixir itp. Tutaj porozmawiamy o tym, jak możemy poprawić wydajność aplikacji Laravel za pomocą Scout APM. Scout APM obsługuje wszystkie wersje Laravela powyżej 5.5.Scout radzi sobie również z problemem zapytań N+1, który jest jednym z głównych problemów w Laravel Eloquent.

Instalacja Scout APM w twojej aplikacji Laravel jest bardzo prosta; wystarczy uruchomić następujące polecenie w konsoli,

Kiedy uruchomisz to polecenie, zainstalowany jest scout-php.

composer require scoutapp/scout-apm-laravel

Następnym krokiem jest skonfigurowanie zmiennych środowiskowych w .plik env. Aby zintegrować Scout z Twoją aplikacją, musisz dodać następujące klucze:

W przypadku instalacji przez dodatek Heroku nie musisz ustawiać SCOUT_MONITOR i SCOUT_KEY jawnie; jest ustawiany automatycznie.

# Scout settings
 
SCOUT_MONITOR=true
SCOUT_KEY="[AVAILABLE IN THE SCOUT UI]"
SCOUT_NAME="A FRIENDLY NAME FOR YOUR APP"

Ponadto, jeśli chcesz dodać rozszerzenie scoutapm PHP, możesz to również łatwo zrobić za pomocą następującego polecenia,

<

The third step is adding the config/scout_apm.php using the following
command.

php artisan vendor:publish
--provider=\"Scoutapm\\Laravel\\Providers\\ScoutApmServiceProvider\"

After this step, you will need to clear and rebuild the cache, or it can give unexpected results. The final step is that after making these changes, you have to deploy your application. It will take around five
minutes for results from your website to appear in Scout's dashboard.

Będziesz musiał zainstalować to rozszerzenie, jeśli chcesz mieć jakieś instrumenty, takie jak czas libcurl i file_get_contents.

sudo pecl install scoutapm

In this way, Scout APM can help you see all the
metrics of your Laravel application. You can use these stats to improve your Laravel applications and generate more value for your customers. You can start using Scout APM free for 14 days, even without a credit
card. If you want your Laravel application to perform better you should start analyzing its metrics now. You can sign up to start your first application on Scout APM's website.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

O

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

O autorze CrazyBoy49z
WORK EXPERIENCE
Kontakt
Ukraine, Lutsk
+380979856297