Cách tăng tốc truy vấn cơ sở dữ liệu WordPress

Trong bài viết này, chúng tôi sẽ phân tích và chia sẻ cách chúng tôi tối ưu cơ sở dữ liệu và truy vấn cơ sở dữ liệu WordPress khi làm việc để cải thiện tốc độ trang web.

Cơ sở dữ liệu WordPress chậm hoặc truy vấn chậm thường xuất hiện ở các khu vực trong WordPress không được lưu vào bộ nhớ đệm như phần phụ trợ WordPress, trang thanh toán trong WooCommerce hoặc trang thành viên trên trang web thành viên.

Không có phép thuật nào khi nói đến việc tối ưu hóa tốc độ trang web và tăng tốc phần cuối cơ sở dữ liệu của WordPress là như nhau. Cuối cùng, cách bạn có thể tăng tốc truy vấn dữ liệu WordPress có thể được tóm tắt như sau:

  1. Sử dụng dịch vụ lưu trữ tốt hơn;
  2. Sử dụng bộ nhớ đệm đối tượng được cung cấp bởi Redis hoặc Memcached (bộ nhớ đệm cơ sở dữ liệu dựa trên bộ nhớ);
  3. Giảm tải cho trang web và cơ sở dữ liệu;
  4. Định cấu hình cơ sở dữ liệu theo cách thực hành tốt nhất.

Cách tăng tốc truy vấn cơ sở dữ liệu WordPress

1. Sử dụng nhà cung cấp Hosting tốt, tốt nhất là có Memcached hoặc Redis Caching

Có một nhà cung cấp dịch vụ hosting chất lượng cao, đáng tin cậy và hỗ trợ Memcached hoặc Redis caching rất quan trọng. Memcached và Redis là loại bộ nhớ cache có thể được sử dụng cho Object Caching – cơ bản là việc caching cơ sở dữ liệu WordPress.

Redis có lẽ nhanh hơn trong hầu hết các trường hợp, nhưng Memcached thông thường có sẵn rộng rãi hơn. Đây là các ứng dụng được cài đặt trên máy chủ hoặc hosting chính.

Nếu bạn có một máy chủ ảo (VPS) mà bạn có thể kiểm soát, bạn nên có khả năng cài đặt một trong những ứng dụng này lên đó.

2. Sử dụng Object Caching

Object Caching là một loại caching cơ sở dữ liệu có thể tăng tốc độ đáng kể cho các trang web thực hiện các thao tác nặng về cơ sở dữ liệu. Các thao tác thanh toán và giỏ hàng trong Woocommerce, quản lý đơn đặt hàng ở phía sau và gần như tất cả mọi thứ xảy ra sau khi người dùng đăng nhập vào một trang web thành viên đều là các thao tác nặng về cơ sở dữ liệu sẽ được hưởng lợi từ việc caching đối tượng.

Bộ nhớ cache đối tượng đặt trước cơ sở dữ liệu và có thể trả lời các truy vấn cơ sở dữ liệu trước đó (nếu trong bộ nhớ cache) mà không cần truy vấn cơ sở dữ liệu.

Trang chủ của Redis Máy chủ của bạn sẽ cần hỗ trợ Redis hoặc Memcached để sử dụng caching đối tượng và chúng tôi thường sử dụng plugin Redis Object Cache của Till Kruss bên trong WordPress để cung cấp việc caching.

Nói chung, các bước để thiết lập việc này là:

Cài đặt Redis hoặc Memcached hoặc kiểm tra với nhà cung cấp hosting của bạn liệu họ có hỗ trợ không; Thêm một khóa salt cache vào wp-config.php (quan trọng vì nếu thiếu cache này có thể chuyển giữa các trang web); Cài đặt và bật plugin Redis Object Cache.

3. Sử dụng phiên bản PHP cao nhất có thể

PHP là ngôn ngữ lập trình mà WordPress được xây dựng trên. Các phiên bản mới của PHP được phát hành thường xuyên (mỗi 6-12 tháng một lần) và mỗi phiên bản thường nhanh hơn 10-30% so với phiên bản trước đó.

Sử dụng phiên bản PHP cao nhất mà trang web của bạn hỗ trợ có thể tăng tốc độ các hoạt động liên quan đến cơ sở dữ liệu đáng kể.

4. Giảm tải bằng cách Sử dụng Page Cache

Thực sự bạn không thể chạy một trang web WordPress mà không sử dụng Page Cache. Khi có Page Cache, các trang được xây dựng trước khi người truy cập truy cập trang web, điều này là một cách tuyệt vời để tăng tốc truy vấn dữ liệu WordPress.

Tất cả quá trình xử lý PHP và tra cứu cơ sở dữ liệu cần thiết để tạo ra tệp HTML đều được thực hiện trước và lưu trữ trong bộ nhớ cache trang. Khi người truy cập truy cập trang web, máy chủ cung cấp tệp HTML ngay lập tức để người dùng trải nghiệm một trang web nhanh hơn và tải trọng trên máy chủ giảm đáng kể. Thông thường, việc tạo ra một trang từ đầu sẽ mất từ 1 đến 4 giây, trong khi một trang được lưu trữ trong bộ nhớ cache có thể sẵn sàng trong vài trăm mili giây (từ 0,2 đến 0,5 giây).

Bạn có thể thử một số plugin cache tốt nhất hiện nay như: WP Rocket, Litespeed Cache, Super Cache,… Nó bao gồm nhiều tính năng tốt, do đó nó nổi bật là plugin mà chúng tôi rất đề xuất cho tất cả những người muốn tăng tốc truy vấn dữ liệu WordPress và cải thiện hiệu suất trang web của họ.

5. Giảm tải bằng cách sử dụng dịch vụ CDN của Cloudflare

Ngay cả khi bạn đang sử dụng một nhà cung cấp hosting chất lượng thấp, Cloudflare có thể giảm đáng kể thời gian tải trang của trang web ngay cả trên kế hoạch miễn phí.

Cloudflare cung cấp nhiều tối ưu hóa và lợi ích về tốc độ như:

  • Trang chủ của Cloudflare Lưu trữ DNS (Domain Name System) nhanh – Cloudflare thường là một trong những máy chủ DNS nhanh nhất trên thế giới, xem tại https://dnsperf.com để xem xếp hạng thời gian thực.
  • Bảo mật và Firewall ngay cả trên kế hoạch miễn phí, Cloudflare có thể lọc nhiều lưu lượng không mong muốn đổ vào trang web của bạn.
  • Gói dịch vụ 5 đô la/tháng bao gồm dịch vụ APO của Cloudflare, thực hiện caching tại lề. Với caching tại lề, các trang từ trang web của bạn được lưu trữ trên máy chủ của Cloudflare (được gọi là “lề”) để loại bỏ hầu hết tác động của địa lý đối với tốc độ trang web VÀ có thể tăng lượng lưu lượng trang web của bạn xử lý từ 2-50 lần.
  • Gói dịch vụ 20 đô la/tháng (chúng tôi đề xuất cho các trang web lớn hơn), Cloudflare cũng cung cấp tường lửa đầy đủ, tối ưu hóa hình ảnh và nhiều tối ưu hóa tốc độ trang web khác. Nếu bạn không thể sử dụng Cloudflare, ít nhất cũng sử dụng dịch vụ CDN (dịch vụ có tối ưu hóa hình ảnh tích hợp như Bunny CDN). CDN rất hữu ích trong việc tăng tốc phản hồi của các tài sản tĩnh như CSS, JS, hình ảnh và phông chữ.

6. Đảm bảo Cơ sở dữ liệu của bạn sử dụng Engine lưu trữ Innodb cho tất cả các bảng

InnoDB và MyISAM là “engine lưu trữ” được sử dụng bởi MySQL – về cơ bản là định dạng mà cơ sở dữ liệu lưu trữ cơ sở dữ liệu của mình. MyISAM là loại bảng mặc định cho đến khi MySQL 5.5.5 được giới thiệu vào năm 2010. Các bảng Innodb nhanh hơn so với MyISAM, vì vậy đảm bảo bảng sử dụng engine lưu trữ Innodb có thể tăng tốc độ truy vấn đáng kể.

Có một số sự khác biệt giữa hai loại bảng này, nhưng một cách đơn giản, các bảng MyISAM sẽ khóa bảng cơ sở dữ liệu trong khi nó đang được ghi. Điều này có nghĩa là trên một trang web bận rộn, các hoạt động ghi cơ sở dữ liệu này bắt đầu xếp hàng và gây ra sự chậm trễ trong xử lý, mà thể hiện qua việc tải trang chậm hơn đối với người dùng.

Hãy tưởng tượng bảng cơ sở dữ liệu như một bảng tính Excel, nếu một người đang mở nó, người khác không thể thực hiện bất kỳ sửa đổi nào.

Bảng Innodb chỉ khóa hàng trong bảng cơ sở dữ liệu đang được ghi, vì vậy không có hoặc ít sự chậm trễ trong xếp hàng cơ sở dữ liệu. Đây giống như việc sử dụng một bảng tính Google được nhiều người sử dụng cùng một lúc.

Chuyển từ các bảng MyIsam sang các bảng Innodb có thể mang lại tốc độ nhanh hơn đặc biệt trong phần giao diện và trên các trang web có lưu lượng cao.

Đối với hầu hết các trang web liên kết, cơ sở dữ liệu sẽ có dung lượng khoảng vài trăm megabyte, vì vậy chúng tôi sử dụng một plugin được gọi là Servebolt Optimizer (https://wordpress.org/plugins/servebolt-optimizer/) để thực hiện việc chuyển đổi này. Nếu cơ sở dữ liệu của bạn có dung lượng trên 1 GB, bạn có thể cần thực hiện thao tác chuyển đổi một số lần.

Nếu cơ sở dữ liệu lớn, ví dụ, vài GB, hãy không thực hiện thao tác này trong thời gian đỉnh điểm, và có lẽ không nên thực hiện việc chuyển đổi bằng plugin này vì bạn có thể làm hỏng máy chủ trong một khoảng thời gian khá dài. Thay vào đó, nên thực hiện việc này trực tiếp trong cơ sở dữ liệu bằng cách sử dụng PHPMyAdmin và tốt hơn cả là có một nhà phát triển thực hiện cho bạn.

7. Tắt/xóa bỏ bất kỳ plugin và công cụ nào bạn không sử dụng

Các plugin và công cụ không được sử dụng có thể là nguyên nhân khác gây trễ trong truy vấn cơ sở dữ liệu WordPress, đặc biệt là đối với các trang web cũ hơn. Điều này yêu cầu bạn kiểm tra tất cả các plugin và công cụ mà trang web của bạn sử dụng và xóa hoặc tắt những cái không còn được sử dụng nữa.

Từ góc độ tốc độ, giảm số lượng plugin có thể cải thiện hiệu suất trang web của bạn.

8. Xóa các thông tin tạm thời hết hạn trong Cơ sở dữ liệu của bạn

API transients trong WordPress cho phép các nhà phát triển lưu trữ thông tin tạm thời trong cơ sở dữ liệu WordPress và gán cho nó một thời gian hết hạn, sau đó nó sẽ bị xóa. Điều này giúp giảm tải máy chủ và cải thiện hiệu suất WordPress.

Đôi khi, các thông tin tạm thời hết hạn hoặc biến mất trước thời gian hết hạn đã đặt, hoặc không có thời gian hết hạn. Các thông tin tạm thời cũ và hết hạn có thể làm tăng tải trang web và ảnh hưởng tiêu cực đến hiệu suất của nó. Có một số plugin khác nhau có thể xóa các thông tin tạm thời hết hạn, như WP Rocket cũng như WP Optimize.

9. Sử dụng plugin Query Monitor để xác định các truy vấn dữ liệu gây trễ

Query Monitor là một plugin WordPress cho phép gỡ lỗi các truy vấn cơ sở dữ liệu chậm của WordPress, các kích hoạt và hành động hooks, lỗi PHP, khối biên tập viên, cuộc gọi API HTTP, các tệp mã và các tập lệnh được gắn kèm, và nhiều hơn nữa. Nó cũng giúp bạn tìm hiểu một cách hiệu quả liệu các plugin, chủ đề hoặc chức năng có hoạt động kém hay không. Query Monitor đi kèm với một số tính năng nâng cao rất hữu ích trong việc gỡ lỗi các cuộc gọi Ajax, cuộc gọi REST API và kiểm tra khả năng của người dùng.

Trang chủ của Query Monitor Cài đặt plugin Query Monitor và thực hiện các hoạt động trên giao diện trang web và phía sau trang web sẽ xác định các trang chậm, các truy vấn cơ sở dữ liệu lớn và các tài nguyên tiêu tốn bộ nhớ.

Query Monitor miễn phí – https://wordpress.org/plugins/query-monitor/

10. Cập nhật tất cả các plugin lên phiên bản mới nhất

Đây là cách khác để tăng tốc độ truy vấn dữ liệu WordPress. Thường xuyên, các phiên bản cũ của các plugin có thể không tương thích hoàn toàn với phiên bản WordPress hoặc phiên bản PHP hiện tại. Thường thì những vấn đề này sẽ xuất hiện trong Query Monitor nhưng đôi khi không. Đảm bảo tất cả các plugin đều được cập nhật có thể loại bỏ những vấn đề này.

Hãy đặc biệt chú ý đối với các plugin trả phí được tải từ Themeforest/Envato hoặc bên thứ ba, nơi có thể có một số phiên bản cập nhật có sẵn nhưng plugin chính nó không hiển thị bất kỳ cập nhật nào.

11. Phân tích nhật ký máy chủ để xác định bất kỳ tài nguyên nào đang bị tấn công

Đôi khi, việc xem tập tin nhật ký máy chủ có thể giúp xác định các tài nguyên cụ thể đang bị tấn công hoặc xảy ra lỗi.

Một lần nữa, plugin Query Monitor thường sẽ khám phá ra các lỗi mà sẽ xuất hiện trong nhật ký máy chủ, nh

ưng đôi khi không. Thường thì chúng tôi phát hiện các trình thu thập thông tin SEO đang tấn công các trang web Woocommerce bằng cách thêm và loại bỏ hàng vào giỏ hàng và danh sách mong muốn một cách nhanh chóng trong vài giây, gây tiêu tốn một lượng lớn tài nguyên máy chủ, vì vậy việc chặn những trình thu thập thông tin này có thể hữu ích. Tương tự, các cuộc tấn công dò mật khẩu thô sơ trên màn hình đăng nhập của trang quản trị WordPress cũng có thể có tác động tương tự.

Chúng tôi đã chia sẻ một số quy tắc Cloudflare đơn giản trong bài viết này mà bạn có thể thấy hữu ích https://www.wpspeedfix.com/cloudflare-rules-wordpress/

12. Giảm tải tiếp theo bằng cách sử dụng wordfence hoặc công cụ bảo mật khác

Như đã đề cập ở điểm trước, sử dụng các công cụ bảo mật có thể giúp giảm thiểu lưu lượng các trình thu thập thông tin, trình quét và người truy cập độc hại khác tiêu tốn tài nguyên máy chủ.

Thường chúng tôi khuyến nghị sử dụng phiên bản 20 đô la/tháng của Cloudflare, có tường lửa có trạng thái thực sự được tích hợp, vì vậy nó có thể chặn thông tin liên lạc không mong muốn cũng như phiên bản miễn phí của Wordfence có thể giúp giảm thiểu các cuộc tấn công dò mật khẩu và bất cứ thứ gì trượt qua Cloudflare.

Hỗ trợ thêm…

Nếu bạn đang tìm kiếm sự trợ giúp đặc biệt về tải cơ sở dữ liệu cao, dịch vụ Tư vấn của chúng tôi (https://wpspeedy.net/yeu-cau-bao-gia/) có lẽ là dịch vụ có thể giúp bạn.

Kết luận

Việc tối ưu hóa tốc độ trang web là một phần quan trọng của việc duy trì trải nghiệm người dùng tốt và cải thiện hiệu suất trang web của bạn. Bài viết trên cung cấp một loạt các gợi ý và phương pháp để tăng tốc độ truy vấn cơ sở dữ liệu WordPress của bạn. Hãy chắc chắn áp dụng những lời khuyên này theo từng bước để cải thiện hiệu suất trang web của bạn và tạo ra một trải nghiệm tốt hơn cho người dùng.

 

 

 

 

Đừng bao giờ mất khách hàng vào tay đối thủ vì tốc độ website chậm!

Các chuyên gia WordPress của WPSpeedy luôn sẵn sàng thực hiện tối ưu website của bạn. Hãy liên hệ ngay hôm nay để được tư vấn và kiểm tra miễn phí!

Liên hệ ngay

Leave a Comment

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Scroll to Top