Sorry, you need to enable JavaScript to visit this website.
Bài mới hơn
Sản phẩm, dịch vụ

Cách tối ưu hóa hiệu suất website Drupal

Bạn có biết rằng một website Drupal được tối ưu hóa tốt sẽ đạt hiệu suất cao, có khả năng xử lý hàng triệu lượt truy cập mỗi ngày? Với Drupal, bạn có thể tạo ra những trải nghiệm kỹ thuật số hiện đại trên web, đồng thời đảm bảo website luôn được bảo mật. Ngược lại, một website Drupal không được tối ưu hóa có thể làm giảm tốc độ phản hồi, khiến trang web dễ bị gặp vấn đề lỗi và thường gặp tình trạng xử lý chậm trễ cơ sở dữ liệu. Tuy nhiên, có nhiều cách để khắc phục các vấn đề phức tạp liên quan đến hiệu suất và cải thiện tốc độ tải trang của website Drupal.

Thông thường, các mẹo và kỹ thuật tối ưu hóa hiệu suất nhanh chóng cho website Drupal bao gồm sử dụng Mạng Phân Phối Nội Dung (CDN), tối ưu hóa MySQL, thay đổi kiến trúc, và sử dụng các chế độ lưu trữ đệm (caching) khác nhau như View Caching và Page Caching. Ngoài ra, Drupal cung cấp nhiều tùy chọn để giảm hoặc tối ưu hóa băng thông.

Cách tăng hiệu suất website Drupal

Bạn đang gặp khó khăn với một website Drupal chậm và lỗi thời? Bài viết này cung cấp danh sách các cách tối ưu hóa hiệu suất hữu ích để tăng tốc website Drupal của bạn. Hãy cùng Thiết kế web Giai Điệu khám phá những mẹo sau:

1.Cập nhật lõi, module đóng góp (contribs module) và giao diện (themes) của Drupal

Luôn đảm bảo rằng lõi, các module đóng góp và giao diện của website được cập nhật.
Để cập nhật, điều hướng đến "Báo cáo" → "Cập nhật khả dụng", sau đó nhấp vào "Kiểm tra thủ công" để quét các bản cập nhật mới.

2.Sử dụng Mạng Phân Phối Nội Dung (CDN)

Triển khai CDN là cách nhanh chóng và dễ dàng để giảm thời gian tải trang, đồng thời đảm bảo nội dung tĩnh (hình ảnh sản phẩm, JavaScript, CSS) được phân phối từ CDN.

3.Tận dụng các cơ chế lưu trữ đệm (Caching)

Drupal cung cấp các tùy chọn lưu trữ đệm, giúp tăng tốc độ website hiệu quả:

a. Bộ nhớ đệm trang (Page Caching)

Đảm bảo cả hai module “Internal Dynamic Page Cache” và “Internal Page Cache” đều được cài đặt và bật mặc định trong Drupal.

bộ đệm trang - giaidieu.com

Trong bộ nhớ đệm trang nội bộ, module thực hiện lưu trữ bộ nhớ đệm cho các trang web dành cho người dùng ẩn danh.

Trong khi đó, bộ nhớ đệm trang động nội bộ (Internal Dynamic Page Cache) được sử dụng cho cả người dùng ẩn danh và người dùng đã đăng nhập.

Để bật bộ nhớ đệm, truy cập:
Cấu hình (Configuration) → Phát triển (Development) → Hiệu suất (Performance)

Bạn có thể đặt thời gian tối đa cho bộ nhớ đệm của trình duyệt và proxy.

Drupal 2

b. Twig Caching:  

Chủ yếu được sử dụng cho chủ đề Drupal 8, twig caching dựa vào bộ nhớ đệm riêng của các mẫu Twig đã biên dịch. Nó hoạt động bằng cách nhanh chóng tách khỏi các bộ nhớ đệm khác đã được xóa bằng lệnh drush cache:rebuild trong Drupal 8.

Twig Caching đúng/sai trong development.services.yml

twig.config
gỡ lỗi: đúng
auto_reload: đúng
bộ nhớ đệm: đúng/sai

c. Bộ nhớ đệm BigPipe:  

Đối với tất cả các trang web Drupal 8, hiệu suất tốt hơn có thể đạt được bằng cách sử dụng bộ đệm BIGPIPE vì nó tải một trang để tương tác nhanh với người dùng ở mức 44 ms. Nó giúp tải các trang động nhanh chóng bằng cách tải nhiều phần trang web theo cách song song.

d. Bộ nhớ đệm chế độ xem

Để bật chế độ lưu trữ chế độ xem, hãy điều hướng đến Quản trị → Cấu trúc → Chế độ xem
Nhấp vào “Chỉnh sửa” trên chế độ xem mà bạn muốn bật bộ nhớ đệm 
Mở rộng “Hộp nâng cao” 
Chọn “Dựa trên thời gian” hoặc Dựa trên thẻ và nhấp vào “Áp dụng (tất cả màn hình)”  

e. Bộ nhớ đệm PHP:

OPCache có thể được giải thích như một công cụ lưu trữ đệm được tích hợp trong PHP
Bật Nén GZIP, đây là phương pháp đơn giản để nén các tệp tin của trang web nhằm tiết kiệm băng thông và tăng tốc thời gian tải trang.
Tận dụng bộ nhớ đệm của trình duyệt cho hình ảnh, CSS và JS
Bật FastCGI

f. Mem Cache:  

Các nhà phát triển web sử dụng rộng rãi hệ thống lưu trữ đối tượng bộ nhớ phân tán mục đích chung này để lưu trữ dữ liệu cơ sở dữ liệu, lệnh gọi API và các khối kết xuất trang trong RAM. Nó giúp tối ưu hóa đáng kể hiệu suất của trang web. Lợi ích tiềm năng của việc sử dụng Mem Cache là nó lưu trữ dữ liệu ở định dạng nhỏ như một con số hoặc lớn như một trang HTML đã hoàn thành.

g. File Cache : 

Bộ đệm này giúp các nhà phát triển web vượt qua những thách thức liên quan đến máy chủ có khối lượng công việc đọc tệp chuyên sâu. Bộ đệm tệp hoạt động như một không gian dữ liệu nơi các nhà phát triển có thể kiểm soát các tệp một cách liền mạch cho máy chủ bằng cách sử dụng nhân máy chủ.

h. Redis Cache:  

Redis đề cập đến Máy chủ từ điển từ xa, hoạt động như một kho lưu trữ cấu trúc dữ liệu trong bộ nhớ được các nhà phát triển sử dụng cho cơ sở dữ liệu, bộ đệm, bộ môi giới tin nhắn và công cụ phát trực tuyến. Bộ đệm Redis giúp cải thiện hiệu suất và khả năng mở rộng tổng thể của kiến ​​trúc trang web bằng cách lưu trữ dữ liệu thường xuyên truy cập trong bộ nhớ máy chủ.

4. Tối ưu hóa hình ảnh là điều cần thiết

Bạn có thể thay đổi tỷ lệ nén của hình ảnh. Theo mặc định trong Drupal 8, tỷ lệ này được đặt thành 75%. Bạn có thể đạt được điều này bằng cách sử dụng các mẹo về hiệu suất trang web Drupal dưới đây:

  • Để thay đổi tỷ lệ, hãy điều hướng đến Cấu hình → Bộ công cụ hình ảnh 

  • Sau đó, bạn có thể thay đổi số lượng % và nhấp vào “Lưu cấu hình”

Drupal 3

5.  Sử dụng module Fast 404 để giảm lỗi 404 trong Drupal

6.  Tổng hợp CSS/JS Tổng hợp CSS/JS. 

Bằng cách tổng hợp các tệp CSS và JavaScript, bạn có thể cải thiện hiệu suất của giao diện người dùng và thời gian tải xuống. Điều này xảy ra vì trình duyệt không phải tìm nạp các tệp, giúp giảm số lượng yêu cầu HTTP.

  • Để bật, hãy điều hướng đến Cấu hình → Phát triển → Hiệu suất 

  • Bây giờ hãy nhấp vào “Tổng hợp và nén các tệp CSS” và “Tổng hợp các tệp JavaScript"

  • Nhấp vào “Lưu cấu hình”

Drupal 4

7. Sử dụng minify js và css để tăng tốc độ trang

8. Sử dụng syslog thay vì ghi nhật ký cơ sở dữ liệu cho nhật ký lỗi

9. Sử dụng các công cụ tìm kiếm như (Apache Solr, Elastic Search)

10. Tối ưu hóa cơ sở dữ liệu của bạn

 Mở rộng phần cứng máy chủ cơ sở dữ liệu, tăng số lượng lõi CPU và sử dụng công nghệ mảng lưu trữ RAM và đĩa để tối đa hóa I/O khi đọc đĩa và giảm thiểu độ trễ. Giảm khối lượng truy vấn bằng cách sửa đổi ứng dụng của bạn hoặc tăng hiệu suất của chúng bằng các kỹ thuật tối ưu hóa cơ sở dữ liệu tiêu chuẩn như xây dựng các chỉ mục phù hợp của trường. 

Chúng ta có thể sử dụng cơ sở dữ liệu chính và phụ và cấu hình trong settings.php

$databases['mặc định']['mặc định'] = mảng (
  'cơ sở dữ liệu'=>'drupaldb',
  'tên người dùng'=>'người dùng chính',
  'host'=>'database-master.com'
  ...
);
$databases['mặc định']['bản sao'][] = mảng (
  'cơ sở dữ liệu'=>'drupaldb',
  'tên người dùng'=>'người dùng nô lệ',
  'host'=>'database-slave.com'
  ...
);

11. Vô hiệu hóa mô-đun Bộ lọc PHP

12. Vô hiệu hóa việc xây dựng lại sổ đăng ký chủ đề

13. Vô hiệu hóa các module không cần thiết

Bạn có thể vô hiệu hóa các mô-đun - Công cụ phát triển quản trị, Devel, quyền truy cập nút Devel, Bộ lọc mô-đun, Blog, Diễn đàn, Phân loại, Tìm kiếm, Trợ giúp, Phím tắt, Ghi nhật ký cơ sở dữ liệu, Màu sắc, Thanh công cụ, Theo dõi, Thống kê (mô-đun này ghi vào cơ sở dữ liệu của bạn sau mỗi lần tải trang. Nếu bạn đang sử dụng Google Analytics, có thể bạn không cần điều này), Trình quản lý cập nhật—nếu bạn không cần chức năng của chúng cho trang web của mình.

14. Sử dụng các mô-đun—blockcache_alter, elysia_cron, entitycache, pathcache, lazy loading images, Cache Warming— để tăng tốc hiệu suất của trang web Drupal của bạn

15. Sử dụng bộ đệm proxy ngược 

 Hãy cân nhắc cài đặt và cấu hình một trình tăng tốc HTTP như Varnish. Varnish là một “bộ đệm proxy ngược” xử lý một số tệp tĩnh và lượt xem trang ẩn danh cho trang web của bạn nhanh hơn nhiều so với Apache

16. Tăng lượng RAM khả dụng cho máy chủ. 

Nếu bạn đang ở trong môi trường lưu trữ chia sẻ, hãy di chuyển Drupal đến máy chủ riêng ảo (VPS) nơi bạn có toàn quyền kiểm soát lượng RAM, CPU và đĩa, và băng thông mạng. Thay đổi kích thước RAM thành 128MB hoặc lớn hơn trong tệp PHP.ini

17. Điều chỉnh cài đặt max_execution_time trong PHP

Điều chỉnh cài đặt max_execution_time trong PHP.ini từ 60 đến 120 giây hoặc lớn hơn, nếu cần. Điều này sẽ ngăn các tiến trình chạy lâu như cron hết thời gian và treo.

18. Điều chỉnh Apache cho máy khách Apache max

19. Chọn một máy chủ đáng tin cậy cung cấp tốc độ cao hơn

20. Xóa thủ công các khoảng trắng và chú thích 

Xóa thủ công các khoảng trắng và chú thích khỏi .tpl để tối ưu hóa chủ đề Drupal. Không nên có thụt lề trong .tpl

21. Thực hiện những cải tiến đáng kể theo đề xuất của Google Pagespeed và Yahoo YSlow

22. Đảm bảo trang web Drupal được xây dựng theo tiêu chuẩn mã hóa và sử dụng đúng API cốt lõi hiện có

23. Sử dụng NGINX làm máy chủ web của bạn để cải thiện hiệu suất Drupal 8 trên web.

Những thay đổi nhỏ đối với nginx.conf chủ yếu ở bộ điều khiển front update.php có thể dẫn đến hiệu suất tối đa. Nginx là giải pháp hướng tới tương lai có thể được sử dụng để lưu trữ đệm, cân bằng tải, proxy ngược và nhiều hơn nữa.  

24. Triển khai chuẩn AMP 

Triển khai chuẩn AMP để cung cấp tốc độ tải trang cực nhanh trên thiết bị di động.

25. Sử dụng S3 File System

 Sử dụng S3 File System để tạo một hệ thống tệp bổ sung cho trang web drupal của bạn. Nó có thể được sử dụng để lưu trữ các tệp trong Simple Storage Service (S3) của Amazon hoặc bất kỳ dịch vụ lưu trữ nào khác tương thích với S3. Nó lý tưởng cho trang web Drupal được cân bằng tải trên nhiều máy chủ.

26. Cân bằng tải 

Cân bằng tải là một bước quan trọng trong quá trình tối ưu hóa hiệu suất trang web Drupal. Là một chiến lược cải thiện hiệu suất vững chắc, người ta phải mở rộng quy mô bằng cách thiết lập một trang trại web (nhiều máy chủ web) và đặt một bộ cân bằng tải trước các máy chủ web. Cân bằng tải theo vòng tròn bằng cách xử lý các yêu cầu web giữa các máy chủ web. 

Dịch vụ phát triển Drupal tốt nhất

Với nhu cầu thay đổi và sự gia tăng người dùng, Drupal cung cấp các chức năng và module để cải thiện hiệu suất. Điều này đảm bảo rằng các website Drupal với nội dung phong phú và tính năng động luôn tải nhanh, phản hồi nhanh chóng với truy vấn cơ sở dữ liệu, và đạt hiệu suất tối ưu.

Tham khảo nguồn: https://www.kellton.com/