Cách giảm tải máy chủ quản trị Ajax trong WordPress

cach-giam-tai-may-chu-quan-tri-ajax-trong-wordpress

Cách giảm tải máy chủ quản trị Ajax trong WordPress – Khi chúng tôi nói về trải nghiệm người dùng, chúng tôi thường xem xét cải thiện thời gian tải trang web. Mọi người thường có xu hướng rời bỏ trang web nếu mất hơn hai giây để tải và hầu như không quay lại do trải nghiệm xấu mà họ có với trang web.

Đây là một vấn đề nghiêm trọng khi các doanh nghiệp đầu tư tiền vào việc lưu trữ cho WordPress, quản lý nội dung của họ và quảng bá nó đến các nền tảng khác nhau.

Có rất nhiều chủ đề và plugin khác nhau thường gây ra sự cố. Các nhà phát triển cuối cùng kiểm tra hiệu suất tốc độ website của họ và quan sát cảnh báo chung về độ trễ thời giờ phản hồi máy chủ admin-ajax.php.

Trong khi check tốc độ WordPress, bạn đã thấy rằng quản trị viên WordPress -ajax.php chịu trách nhiệm cho trải nghiệm tải chậm. Trong bài viết này, tôi sẽ nói về tệp này và cách bạn giảm thời giờ phản hồi từ máy chủ và việc sử dụng CPU bằng cách giảm số lượng yêu cầu được tạo bởi admin-ajax.php.

Admin-ajax.php trong WordPress là gì?

Quay trở lại năm 2013, WordPress đã giới thiệu API WordPress Heartbeat cung cấp một số chức năng quan trọng như tính năng tự động lưu, hết hạn đăng nhập và cảnh báo khóa bài trong khi một người dùng khác đang viết hoặc chỉnh bài đăng WordPress.

Hai tính năng rất nổi bật của API Heartbeat là:

  1. Tự động lưu

Bất cứ khi nào bạn lưu bản nháp bài đăng và tiếp tục làm việc với nó, WordPress sẽ tự động lưu bổ sung vào bài đăng. Có sự khác biệt rõ ràng giữa tự động lưu và lưu bản nháp theo cách thủ công. Kiểm tra ảnh chụp màn hình sau đây cho thấy cả hai loại lưu:

cach-giam-tai-may-chu-quan-tri-ajax-trong-wordpress

  1. Khóa bài

Bất cứ khi nào bạn cố gắng chỉnh sửa một bài đăng mà người dùng khác đang làm việc, một cảnh báo bật lên về tình huống sẽ xuất hiện. Có ba hành động mở ra cho bạn.

cach-giam-tai-may-chu-quan-tri-ajax-trong-wordpress

Các tính năng được đề cập ở trên được thực hiện nhờ API WordPress Heartbeat tạo kết nối giữa máy chủ và trình duyệt để liên lạc và phản hồi phù hợp.

API Heartbeat WordPress tạo các yêu cầu liên lạc với máy chủ và kích hoạt các sự kiện khi nhận dữ liệu / phản hồi. Điều này thường làm tăng tải trên máy chủ và cuối cùng làm chậm Bảng điều khiển quản trị viên WordPress.

  • Ví dụ:

Tôi đang đăng nhập vào WordPress của mình và đã bắt đầu phác thảo bài đăng. Tiếp theo, tôi sẽ để tab mở trong vài phút và bắt đầu duyệt trong các tab khác. Bảng điều khiển vẫn được đăng nhập và bạn có thể thấy admin-ajax liên tục gửi yêu cầu.

Theo vé được đề cập ở trên, admin-ajax.php trong WordPress tạo yêu cầu sau mỗi 15 giây. Yêu cầu có thể là bất kỳ thông tin liên lạc với máy chủ.

Làm thế nào các plugin quá tải tập tin admin-ajax.php?

Phần lớn thời gian chúng ta thấy các vấn đề trong tệp admin-ajax.php là do các yêu cầu thực hiện bởi các plugin đã cài đặt. Các plugin này làm cho phụ trợ WordPress chậm đi bằng cách gửi yêu cầu để đạt được chức năng nhất định như kích hoạt cửa sổ bật lên hoặc cập nhật bộ đếm chia sẻ xã hội. Các plugin này tạo ra hàng loạt các yêu cầu này để duy trì chức năng.

Tuy nhiên, thực hiện yêu cầu này không nhất thiết có nghĩa là tăng tốc tệp admin-ajax.php. Nếu yêu cầu được xử lý đúng cách và nhà phát triển plugin tuân theo thực tiễn tốt nhất trong việc sử dụng cuộc gọi AJAX trong các plugin của họ thì điều đó không có tác động đến tệp admin-ajax.php. Do đó, điều quan trọng là phải chẩn đoán bất kỳ plugin nào trước khi tắt nó.

Chẩn đoán Plugin

Điều quan trọng là chẩn đoán đúng plugin để xác định tác động của nó đối với tệp admin-ajax.php có thể làm cho phụ trợ WordPress chậm. Để làm như vậy, chúng tôi sẽ sử dụng hai công cụ GTmetrix và WebPageTest .

Khi check web, trong trường hợp GTmetrix, điều hướng đến tab Waterfall của nó để có danh sách đầy đủ yêu cầu. Khi xem danh sách chặt chẽ, bạn có thể thấy các yêu cầu POST được tạo bởi tệp admin-ajax.php.

cach-giam-tai-may-chu-quan-tri-ajax-trong-wordpress

Trong trường hợp của chúng tôi, những yêu cầu này chủ yếu được thực hiện bởi plugin chia sẻ xã hội. Plugin đặc biệt này sẽ gửi yêu cầu ajax tới tài khoản truyền thông xã hội thông qua API cứ sau 15 giây để lấy số lượng chia sẻ được cập nhật. Mở rộng tab để biết chi tiết. Trong tab phản hồi, có thể thấy vị trí chính xác kích hoạt các yêu cầu này.

Chrome đi kèm với các công cụ nhà phát triển giúp bạn phân tích các yêu cầu được thực hiện bởi các plugin khác nhau. Để làm như vậy, hãy mở trang web trong trình duyệt chrome đi để kiểm tra phần tử và nhấp vào tab Mạng.

cach-giam-tai-may-chu-quan-tri-ajax-trong-wordpress

Tải lại trang và xem danh sách đang được điền với các yêu cầu cập nhật. Trong hộp bộ lọc, nhập ajax hoặc admin-ajax để lọc các tệp cần thiết. Điều này cung cấp cho bạn cái nhìn sâu hơn về số lượng yêu cầu cũng như tần suất của chúng cùng nguồn yêu cầu.

Tiếp theo, nhấp vào tập tin để xem thông tin. Trong tab phản hồi sẽ có một số gợi ý về plugin gây ra yêu cầu này. Trong trường hợp của tôi, lần này, nó được kích hoạt bởi plugin WP Phổ biến (WPP). Một plugin làm nổi bật bài đăng phổ biến nhất trong thời gian cụ thể.

cach-giam-tai-may-chu-quan-tri-ajax-trong-wordpress

Để tránh điều này, hãy đảm bảo rằng plugin bạn đang tận dụng đã cập nhật, nếu chưa thì hãy thử mở một vé hỗ trợ để các nhà phát triển có thể khắc phục sự cố. Nếu có thể, bạn cũng có thể thay thế nó bằng một plugin khác, được cập nhật và không làm quá tải tệp admin-ajax.php.

Chạy một chẩn đoán kỹ lưỡng là rất quan trọng trước khi bỏ bất kỳ plugin nào vì một số plugin rất quan trọng cho trang web WordPress. Các công cụ trên có thể giúp bạn tiếp cận nguyên nhân và chọn giải pháp tốt nhất có thể để khắc phục.

Trong phần tiếp theo, chúng ta sẽ xem làm thế nào chúng ta có thể giảm các yêu cầu này và ngăn tệp admin-ajax.php không bị quá tải.

Tăng tốc Bảng điều khiển quản trị WordPress

Để tăng tốc phụ trợ WordPress, cách tiếp cận tốt nhất là vô hiệu hóa API Heartbeat hoặc ít nhất là đặt khoảng thời gian dài hơn để nó không truy cập máy chủ sau mỗi vài giây.

Cài đặt Plugin điều khiển Heartbeat

Đăng nhập vào quản trị WordPress, điều hướng đến Plugin → Thêm mới, tìm kiếm Heartbeat Control, Cài đặt rồi Kích hoạt.

cach-giam-tai-may-chu-quan-tri-ajax-trong-wordpress

Cấu hình Plugin kiểm Heartbeat Control 

Điều hướng đến Cài đặt → Cài đặt Heartbeat Control. Ở đó bạn sẽ tìm thấy ba menu thả xuống để cấu hình plugin.

cach-giam-tai-may-chu-quan-tri-ajax-trong-wordpress

1. Cho phép Heartbeat

Bạn có thể chọn khu vực nơi API Heartbeat sẽ hoạt động. Có ba tùy chọn để chọn:

cach-giam-tai-may-chu-quan-tri-ajax-trong-wordpress

Bảng điều khiển WordPress: Kích hoạt API Heartbeat bảng điều khiển WordPress.

Frontend : kích hoạt API trên frontend.

Trình chỉnh sửa bài đăng : Đánh dấu hộp kiểm này, nếu bạn muốn cho API Heartbeat được mở tự động lưu và khóa bài.

2. Vô hiệu hóa Heartbeat

Chọn mục này nếu bạn muốn API Heartbeat của WordPress tắt ở các vị trí cụ thể. Hãy cẩn thận trong khi chọn vị trí vì các plugin khác cũng có thể đang sử dụng API Heartbeat của WordPress. Nếu bạn là người dùng duy nhất của phụ trợ WordPress, tôi sẽ đề nghị vô hiệu hóa nó ở mọi nơi, sau đó kiểm tra xem nó có phá vỡ trang web hay không. Tuy nhiên, nếu trang web có nhiều người đóng góp thường xuyên, tôi sẽ đề xuất rằng bạn chỉ cho phép API Heartbeat trên các trang chỉnh sửa bài đăng.

cach-giam-tai-may-chu-quan-tri-ajax-trong-wordpress

3. Sửa đổi Heartbeat

Trình đơn thả xuống này cho phép bạn đặt khoảng thời gian, trong khoảng 0 – 300 giây để thực hiện các yêu cầu quản trị-ajax. Bằng cách đặt thành 120 giây, yêu cầu sẽ tạo sau mỗi 120 giây. Điều đó sẽ làm giảm đáng kể tải trên máy chủ. Điều chỉnh nó theo nhu cầu của bạn.

cach-giam-tai-may-chu-quan-tri-ajax-trong-wordpress

Tạo nhiều quy tắc

Bạn được tạo nhiều quy tắc dựa trên yêu cầu của bạn. Ví dụ: bạn muốn Bảng điều khiển WordPress kích hoạt trong 120 giây nhưng Post Editor sẽ được kích hoạt sau 60 giây. Khi làm điều này, bạn cần tạo hai quy tắc. Một cho Bảng điều khiển và một cho Trình chỉnh sửa bài và đặt tần số của chúng tương ứng là 120 và 60.

Xem thêm: Hướng dẫn cách cài đặt WordPress khi dùng cPanel

Phát hiện các Plugin sử dụng API Heartbeat

Bây giờ bạn đã thiết lập mọi thứ, đã đến lúc kiểm tra plugin nào tận dụng tệp admin-ajax.php và làm chậm trang web.

Tới GTmetrix , nhập URL website. Sẽ mất một vài phút để phân tích website. Sau khi xong, hãy điều hướng đến tab Waterfall và bạn sẽ thấy một tệp đang mất bao nhiêu thời gian để kết nối và phản hồi. Cuộn xuống một chút và xem có mục nào cho POST admin-ajax.php không. Nếu có, mở rộng nó và điều hướng đến tab Post. Từ đây, bạn sẽ xác định được plugin thủ phạm. Trong trường hợp của tôi, plugin chuyển đổi máy tính để bàn thành công thức hè, sử dụng tập tin admin-ajax.php và liên tục gửi yêu cầu đến máy chủ. Đây là thời gian để đưa ra quyết định, hoặc thay thế nó bằng một plugin khác hoặc bắt chéo ngón tay của bạn.

cach-giam-tai-may-chu-quan-tri-ajax-trong-wordpress

Kết luận

Xem xét bộ tính năng của nó, API Heartbeat rất tiện ích trên trang web WordPress của bạn. Tuy vậy, nếu không được tận dụng đúng cách, nó có thể tăng thời gian tải của phụ trợ WordPress và giao diện người dùng bằng cách gửi và gửi các yêu cầu quản trị-ajax của WordPress.

Chỉ có hai giải pháp cho vấn đề này. Hoặc, vô hiệu hóa API Heartbeat / chỉ bật nó ở vài vị trí hoặc nâng cấp lên lưu trữ đám mây WordPress được quản lý có thể xử lý tải các yêu cầu và cũng giảm thời giờ phản hồi từ máy chủ.

Nếu bạn đang tận dụng bất kỳ plugin lưu cache nào, chẳng hạn như W3TC, đừng quên tắt bộ đệm đối tượng. Nếu bạn có bất kỳ đề nghị hoặc truy vấn, xin vui lòng gửi bình luận bên dưới.

Xem thêm : Làm Website – Một trang web WordPress để làm mất bao lâu XONG?

Viết một bình luận

0 Shares
Share
Tweet
Pin