NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
28/04/2021
Lượt xem

WP-Cron là gì? Các thao tác cơ bản đối với WP-Cron

28/04/2021
7 phút đọc
Lượt xem

Đánh giá

5/5 - (178 bình chọn)

WP-Cron là một phần của WordPress xử lý các sự kiện đã lên lịch trong một trang WordPress. Vậy chi tiết hơn thì WP-Cron là gì? Làm sao để disable WP-Cron cho hiệu suất nhanh hơn?

WP-Cron là gì?

Cron job được sử dụng để lên lịch các công việc vào khoảng thời gian cố định trên trang web WordPress. Một số ví dụ về WordPress cron job có thể liên quan đến việc đăng bài, kiểm tra bản cập nhật hay các backup plugin chạy theo lịch định sẵn.

Trong WordPress, việc này được xử lý bởi WP-Cron. Nó được sử dụng để mô phỏng một cron system. Tuy nhiên còn tùy thuộc vào lưu lượng truy cập trang web của bạn. Việc sử dụng trình xử lý cron tích hợp có thể ảnh hưởng đến thời gian tải trang. Vì vậy các hướng dẫn sau sẽ hướng dẫn cách disable wp-cron (wp-cron.php). Va thay vào đó là sử dụng cron system để đạt hiệu suất nhanh hơn.

  • Vấn đề về hiệu suất với WP-Cron.
  • Cách tắt WP-Cron.
  • Làm thế nào để sử dụng Cron system.

Cách thức hoạt động của WP-Cron?

WP-Cron muốn vận hành ổn định, nó phải thực thi thường xuyên nhưng không đồng nghĩa với phải thực hiện liên tục mỗi phút. Nhưng, hành vi mặc định không yêu cầu người dùng thiết lập cron job cấp hệ thống thực trên máy chủ của người dùng.

Nó dùng cách thức piggyback ở tất cả yêu cầu được đưa đến. Khi website nhận được yêu cầu đưa đến, WordPress sẽ tạo thêm một yêu cầu mới từ chính nó tới tệp wp-cron.php thông qua HTTP(S).

Vì sao để cấu hình mặc định cho wp-cron.php lại là sai lầm?

Phương pháp mặc định làm việc rất có lợi đối với những website nhỏ với số lượng người dùng truy cập mỗi giờ thấp. Nhưng khi nó được tiến hành ở những website vừa hoặc lớn trở lên hay là một website được rà soát bởi bot (hiện nay việc này ngày càng trở nên thông dụng). Đồng nghĩa với việc người dùng nhận được gấp đôi bất kỳ lưu lượng truy cập nào mà người dùng đang tiến hành xử lý.

Đặc biệt, nó cũng sẽ biến thành một cuộc DDoS quy mô nhỏ gây hại đến chính người dùng. Nguyên nhân là do cron đang tiến hành thao tác nhiều lần một phút qua HTTP request (tức là yêu cầu HTTP). Yêu cầu HTTP phát sinh chi phí thông qua việc tạo, trao đổi và tùy chỉnh kết nối bằng socket mạng.

Ngoài ra, dung lượng hiệu quả của máy chủ web bên dưới của bạn cũng sẽ bị ảnh hưởng. Giải pháp này được nhận xét rằng chưa thật sự tối ưu vì nó không hoạt không tốt trong mọi tình huống. Đặc biệt, có thể loại bỏ làm hành vi mặc định vì những lý do như: có thể trở thành vector tấn công tại máy chủ chỉ với lưu lượng truy cập bình thường. Ngoài ra, hành vi mặc định này đang có xu hướng bị lạm dụng.

Có lựa chọn nào để thay thế WP-Cron?

Ở thời điểm hiện tại, lựa chọn tối ưu nhất là cấu hình cronjob hệ thống là thực thi tập lệnh wp-cron.php trực tiếp bằng code PHP mỗi phút. Lựa chọn này sẽ đảm bảo rằng tất cả các tác vụ đã lên lịch sẽ được thực hiện vào đúng thời gian đã định sẵn.

Bên cạnh đó, nó nên ưu tiên thực hiện trực tiếp PHP để ảnh hưởng đến dung lượng của máy chủ web và phát sinh chi phí của bộ nhớ trên lớp mạng như lúc thực thi qua yêu cầu HTTP.

Vấn đề về hiệu suất với WP-Cron là gì?

Hiện nay, có khá nhiều vấn đề về hiệu suất với trình xử lý Cron tích hợp sẵn trong WordPress: WP-Cron. Điều quan trọng trước tiên là phải hiểu rõ WP-Cron là gì. WP-Cron không phải là một Cron job thật sự. Nó chỉ đơn giản là những gì WordPress tạo ra để bắt chước những gì một Cron system làm.

WP-Cron không làm việc liên tục. Theo mặc định, wp-cron.php sẽ được bật sau mỗi lần tải trang. Điều này sẽ gây ra sự cố nếu bạn đang ở trên các trang web có lưu lượng truy cập lớn. Với một trang web không đủ PHP worker, đôi khi một số yêu cầu sẽ xuất hiện. Khi đó, WordPress sẽ tạo ra Cron.

Ngược lại, nếu một trang web với ít lưu lượng truy cập, lịch được để sẵn có thể bị bỏ qua do không có ai tải lại trang.

Một cách tốt hơn là disable WP-Cron và thay vào đó là sử dụng Cron system. Điều này có lịch trình xác định và thậm chí còn được đề xuất trong Pugin offcial handbook.

Cách disable WP-Cron là gì?

Vậy cách disable WP-Cron là gì? Để disable WP-Cron, hãy thêm phần sau vào file wp-config.php ngay trước dòng “That’s all, stop editing! Happy blogging“.

Lưu ý: Việc này chỉ ngăn WP-Cron chạy khi bạn load trang. WP-Cron vẫn có thể chạy nếu ta gọi nếu trực tiếp bằng wp-cron.php.

define('DISABLE_WP_CRON', true);
wp-cron-la-gi
Disable WP-Cron

Làm thế nào để lên lịch cho Cron system bằng cPanel?

Nếu host bạn sử dụng có cPanel, bạn có thể tạo cron system từ control panel. Lưu ý: trước tiên hãy đảm bảo bạn đã tắt WP-Cron mặc định.

Bước 1: Đăng nhập vào cPanel. Trong mục Advanced, nhấp chọn Cron Jobs.

disable-wp-cron
cPanel Cron jobs

Bước 2: Trong mục thêm Cron Job, bạn có thể chọn một số thời gian biểu khác nhau, chẳng hạn như hai lần một giờ hoặc một lần một tuần. Nhà cung cấp dịch vụ sẽ giới hạn về tần suất cho phép chạy các cron job. Hai lần mỗi giờ là cài đặt phổ biến cho các máy chủ.

wp-cron là gì
Cài đặt cPanel cron job

Bước 3: Thêm lệnh sau. Thay thế https://domain.com bằng tên miền của bạn. Sau đó nhấp vào “Add New Cron Job”

wget -q -O - https://domain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
wp-cron-la-gi
Thêm cron job trong cPanel

Phần >/dev/null 2>&1 của lệnh trên sẽ tắt thông báo qua email.

Lời kết

Bài viết bên trên đã hướng dẫn chi tiết về WP-Cron là gì và cách để sử dụng nó. Việc sử dụng WP-Cron và Cron job giúp bạn quản lý trang của mình tốt hơn, cải thiện năng suất làm việc hơn. Nếu có bất kỳ thắc mắc nào bạn có thể để ở dưới phần bình luận để Vietnix giải đáp các thắc mắc của bạn. Cảm ơn bạn đã theo dõi bài viết.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Lê Nam

WordPress Expert
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
2 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận
Kami
Khách
Kami
2 năm trước

nếu hosting có nhiều site thì mối siet phải làm riêng đúng ko? (dù chúng đều chung 1 folder)

Thuan
Khách
Thuan
2 tháng trước
Trả lời  Kami

Cài plugin này vào và activate là xong: https://wordpress.org/plugins/fastcron/
Hoàn toàn miễn phí, không cần đăng ký.

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

Black Friday Hosting & VPS

Chương trình bắt đầu sau

Giảm giá 40% hosting VPS

50 coupon mỗi ngày

Gia hạn giá không đổi

NHẬN DEAL NGAY
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG