Laravel is a powerful framework with many components and huge code. Its ease of use comes at the expense of performance. Even so, it is still an excellent framework, but it must be optimized and improved in a formal environment. Website opening speed. , summarizes some methods to improve Laravel website performance. Therefore, this article mainly introduces to you some methods for optimizing the opening speed of Laravel website. The introduction in the article is very detailed. Friends in need can refer to it. Let’s take a look together. I hope it can help everyone.
1. Turn off debug
Open the .env file and set debug to false.
APP_ENV=local APP_DEBUG=false APP_KEY=base64:sT/aTFeaE13eyao1Raee6jC9Ff+Yle1SE+wtyk0H6B4=
2. Cache routing and configuration
php artisan route:cache php artisan config:cache
3. Laravel Optimization command
php artisan optimize
4. Composer optimization
sudo composer dump-autoload --optimize
5. Using Laravel cache
Use Laravel’s Cache method to cache content, including file cache, database cache, redis cache, use Redis can also use predis components, and can also be combined with multiple caching methods.
$lists = Cache::remember('travel.destination.lists', 20, function () { return $this->destination->getList(); });
6. Use CDN
For example, Qiniu CDN will give you 20G traffic and 20G storage space every month, which is completely enough for small sites.
7. Use PHP 7 and enable OPcache
Several tips to improve the performance of PHP 7, the first one is to enable opache, quote the original text:
Remember to enable Zend Opcache , because PHP7 is faster even without Opcache enabled than PHP-5.6 with Opcache enabled, so during the previous testing period, someone did not enable Opcache.
My Alibaba Cloud server is connected through a server called PHP 7 provided by remi's centos source does not have opcache installed by default. Use the yum list yum70* command to search it. Sure enough, it is there, so install it:
yum install php70-php-opcache.x86_64
Then restart php-fpm and use service php70-php-fpm restart command. (Different systems and environments install and enable opache according to their own circumstances)
Create a new php file and use the phpinfo() function to display the php.ini information. If OPcache can be found item, indicating that it was successfully enabled. Installing and enabling PHP 7 is to add another wing to PHP 7!
8. Turn on gzip compression in nginx
Turning on gzip compression in Nginx on the server is one of the ways to optimize website performance. It can effectively reduce the consumption of server bandwidth. The disadvantage is that it will increase the CPU occupancy rate. , but many times the CPU is often the most idle.
Quote from the introduction of nginx official website:
The ngx_http_gzip_module module is a filter that compresses responses using the “gzip” method. This often helps to reduce the size of transmitted data by half or even more.
Enable gzip compression in Nginx
Open the nginx.conf file and add the following:
gzip on; gzip_min_length 1k; gzip_buffers 16 64k; gzip_http_version 1.1; gzip_comp_level 9; gzip_types text/plain application/x-javascript application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; gzip_vary on;
Introduction to gzip parameters
GZIP ON|OFF
Turn on or off the gzip module
GZIP_MIN_LENGTH 1000
Set the minimum number of bytes of the page allowed for compression. The number of page bytes is obtained from the Content-Length in the header. The default value is 0, which compresses the page regardless of its size. It is recommended to set the number of bytes to be greater than 1k. If it is less than 1k, it may become more and more compressed. That is: gzip_min_length 1024
GZIP_PROXIED EXPIRED NO-CACHE NO-STORE PRIVATE AUTH;
Enable when Nginx is used as a reverse proxy, turn on or off the results returned by the back-end server, the prerequisite for matching is The backend server must return a header containing "Via".
GZIP_TYPES TEXT/PLAIN APPLICATION/XML;
Match the MIME type for compression, (whether specified or not) the "text/html" type will always be compressed.
Determine whether to enable gzip compression through the browser
For example, in Firefox, open a web page and open the debug control bar, as shown in the figure:
The Content-Encoding field is gzip, indicating that the web page is gzip compressed.
This is not just a performance optimization method for Laravel websites. Many of them are general website performance optimization methods. Of course, there are many places that can be optimized.
Related recommendations:
Function steps for automatically extracting article content keywords seo optimization website in php
The above is the detailed content of Laravel method code for optimizing website opening speed. For more information, please follow other related articles on the PHP Chinese website!