Nguyên Nghĩa

Hãy biết đam mê và mãi mãi khát khao học hỏi.

MENU
Tìm kiếm thông tin
Nguyên Nghĩa
Mr.N2

Code tăng tốc độ load website

Chào các bạn.

Mình viết bài viết này với mục tiêu chia sẻ code tăng tốc độ load website nhằm tối ưu hóa website tốt hơn. Một trong những yếu tố góp phần google index nhanh website của bạn.

Về ý tưởng tăng tốc độ load website, mình xin mô tả là đoạn code này dựa trên yếu tố trình duyệt là chủ yếu. Nội dung website khi đã load 1 lần rồi, thì nó sẽ lưu lại dữ liệu là các tập tin javascript, hình ảnh (gif, png, jpg), css,… Ngoài việc lưu lại các tập tin này, thì nó sẽ còn gia tăng chỉ số expires của các tập tin, giúp nó lưu vào trình duyệt lâu hơn.

Bạn cần tạo 3 tập tin sau:

.htaccess (với nội dung):

pre.php (với nội dung):

redir.php (với nội dung):

Để chạy pre.php thì chúng ta cần 1 tập tin trong hệ thống là php.ini có nhiệm vụ hoạt động ngầm, nhằm thực thi pre.php

php.ini đặt tại thư mục root, có nội dung như sau:

Trong đoạn php.ini này mình đặt tỷ lệ nén ở mức trung bình là 3, tỷ lệ nén file có giá trị từ 0 đến 9 (9 là mức cao nhất). Đoạn code trên mình viết có tính năng lưu cache và sử dụng module nén là deflate, chứ nó chả đã động tới module zlib cũng là nén luôn nhé các bạn.

Mình phân biệt giữa 2 module zlib và module deflate cho các bạn nắm rõ:

– module zlib: còn được gọi là PHP’s zlib output_compression sẽ chỉ được chạy với lớp PHP handler (các files .php chẳng hạn)
– module deflate: còn được gọi là Apache’s mod_deflate có thể chạy với bất kỳ tập tin nào như jpg, css, javascript,…

Mục đích tạo php.ini là nhằm nén các tập tin ở lớp PHP handler (.php) giúp bạn có 1 hệ thống nhanh hơn, khi vừa được nén các file sử lý php, nén luôn các tập tin (jpg, css, javscript,…) khi kết hợp nén với module deflate.

Trong đoạn php.ini trên mình đã đặt mức nén ở level 3, và khi kiểm tra bằng phpinfo() kết quả sẽ như sau:

PHP Handler là cái gì ?

Khi chạy một site PHP, server phải cần thông dịch PHP và tạo ra trang web khi người dùng truy cập vào. Tùy vào từng người dùng, thời gian địa điểm mà webiste có thể được tạo ra khác nhau. Code PHP được phiên dịch dựa vào bộ thư viện PHP như PHP4 và PHP5. PHP handler sẽ điều khiển quá trình những gì load lên từ bộ thư viện PHP.

Đây là mô hình web server của chúng ta hoạt động, mọi thứ sẽ diễn ra thông qua lớp thông dịch là PHP, sau khi thông dịch web server sẽ trả về máy người dùng.

Mục đích của mình là sẽ làm mọi thứ nhanh hơn khi qua lớp thông dịch PHP này, đây cũng là ý tưởng để mình viết bài này đó các bạn.

P/S: Có một số bạn dùng WordPress có sẵn các plugin, mình nghĩ nếu phân tích ra thì cũng chỉ nằm vỏn vẹn cho các module zlib và module deflate thôi. Cái quan trọng là chúng ta hiểu về nó thế nào để còn làm việc, chứ không phải có gì là quất cái đó đâu nhé.

Hãy thử và cảm nhận tốc độ load website của bạn nhé.

Demo: Hội Quán Tin Học

Được viết bởi Mr.N2

Có thể bạn quan tâm
  • Hạn chế spam, auto post, auto đăng ký nick dành cho diễn đàn Vbb
  • Bảo vệ khu vực quản trị Admin của các loại mã nguồn PHP
  • Bình luận

    6 responses to “Code tăng tốc độ load website”

    1. khiet tran says:

      Xin chào Nghĩa,
      Ở bài viết trên file php.ini thì bạn có nói là đặt tại root, còn file .htacess thì mình cũng biết chỗ đặt nó rồi, vì mình làm cho site WordPress, vậy còn 2 file kia thì đặt ở đâu?

      View Comment
    2. Lý Thiện says:

      Nghĩa ơi cho mình hỏi tý. Mình dùng redir.php và php.ini thì website mình tự nhiên mất hết ảnh và các file css luôn vậy Nghĩa ?

      View Comment
      • Mr.N2 Mr.N2 says:

        Bạn xem lại code này có xung đột gì với mã nguồn bạn đang sử dụng không, nếu bạn biết đọc code thì tích hợp từng phần vào còn nếu như vẫn bị thì tốt nhất không nên sử dụng nữa bạn ah.

        View Comment
    3. Nam says:

      Hi Nghĩa, xin phép mình vô vấn đề luôn :D.
      Vì mình đo tốc độ web của mình trên 2 web pingdom và pagespeed của google thì thấy web mình chạy quá chậm nên muốn tối ưu lại cho nhanh hơn.
      Web mình chạy bằng opencart và server chạy iis 6.0 thì tối ưu tốc độ bằng cách này được không bạn?
      Nếu không tối ưu bằng cách này được thì có cách nào khác tối ưu tốc web cho nó load nhanh hơn không bạn?
      Xin lỗi nếu tin nhắn này đã làm phiền Nghĩa nhé.

      View Comment
      • Mr.N2 Mr.N2 says:

        Chào Nam,

        Đơn giản nhất của việc tăng tốc website là bạn phải giảm tài nguyên xuống, cách khả thi nhất là nén mọi thứ lại. Đồng thời trong quá trình code và design giao diện cũng nên tối ưu lại mọi thứ một chút, rút gọn một dòng mã cũng phần nào tối ưu hóa tốc độ tốt hơn. Ngoài ra mình cũng muốn giới thiệu bạn một công nghệ khác đó là CDN, bạn có thể tìm hiểu công nghệ này tại website cdn.com.vn giúp phân tán tài nguyên máy chủ rất tốt.

        Best regards.

        View Comment

    Leave a Reply