Cách thiết lập và định cấu hình bộ nhớ đệm Redis trên WordPress

Rifat Hướng dẫn WordPress Sep 19, 2023

WordPress hoạt động như một Hệ thống quản lý nội dung nguồn mở (CMS), tạo điều kiện thuận lợi cho việc quản lý nội dung mà không cần phải thành thạo bất kỳ ngôn ngữ lập trình web nào. Thông qua việc bổ sung văn bản, hình ảnh và video một cách đơn giản, người ta có thể xây dựng và sau đó xuất bản một trang web hoặc blog trên Internet. Nền tảng hoạt động của WordPress nằm trong PHP và cơ sở dữ liệu MySQL.

Trong quá trình xây dựng một trang web do WordPress cung cấp, việc kết hợp các chủ đề và plugin là điều phổ biến để điều chỉnh các thuộc tính nội dung và thẩm mỹ hình ảnh. Điều này tạo điều kiện cho việc tăng cường dần dần các chức năng của trang web thông qua các thành phần bổ sung, bao gồm các tiện ích mở rộng của bên thứ ba như SEO và phân tích. Sự phụ thuộc lẫn nhau của các chủ đề và plugin này tìm thấy kho lưu trữ của chúng trong cơ sở dữ liệu MySQL đóng vai trò là máy chủ lưu trữ nội dung của trang web.

Ngược lại, Redis tạo thành một kho lưu trữ cấu trúc dữ liệu trong bộ nhớ, nguồn mở, sẵn sàng hoạt động như một hệ thống bộ nhớ đệm. Phần mềm này hoạt động như một dịch vụ nền, tạo điều kiện thuận lợi cho việc lưu vào bộ nhớ đệm và lưu giữ dữ liệu trong bộ nhớ của hệ thống. Do đó, chiến lược này góp phần nâng cao thời gian phản hồi của máy chủ và tốc độ tổng thể của trang web.

Hướng dẫn sắp tới được thiết kế để truyền đạt kiến ​​thức cần thiết cho việc thiết lập và định cấu hình bộ nhớ đệm đối tượng Redis trong trang web hoặc blog WordPress của bạn. Tuy nhiên, trước khi đi sâu vào chi tiết thiết lập, cần phải khám phá cơ chế hoạt động của cả WordPress và Redis, cùng với lý do căn bản cho việc sử dụng cộng sinh của chúng.

Tạo trang web tuyệt vời

Với trình tạo trang miễn phí tốt nhất Elementor

Bắt đầu bây giờ

Redis hoạt động như thế nào

Hãy xem xét một tình huống trong đó một ứng dụng web đang hoạt động trên một máy chủ, sử dụng cơ sở dữ liệu như MySQL để hoạt động. Ứng dụng web yêu cầu truy xuất các bản ghi cụ thể từ cơ sở dữ liệu này. Việc thực hiện các truy vấn như vậy đi kèm với sự chậm trễ đáng kể về thời gian trong việc cung cấp các hồ sơ được yêu cầu. Đáng chú ý là thời gian chờ đợi kéo dài, vượt quá một phút, để truy xuất dữ liệu có thể dẫn đến trải nghiệm người dùng dưới mức tối ưu.

Tuy nhiên, điều đáng chú ý là Redis cung cấp một giải pháp nhằm nâng cao tốc độ và hiệu quả của các hoạt động xử lý dữ liệu đó. Thông qua việc sử dụng Redis, sẽ nảy sinh khả năng lưu trữ dữ liệu đã được xử lý thông qua truy vấn cơ sở dữ liệu MySQL trong phiên bản bộ đệm Redis chuyên dụng. Bộ lưu trữ chiến lược này cho phép truy xuất dữ liệu trực tiếp từ bộ nhớ của máy chủ, do đó loại bỏ sự cần thiết phải đi qua toàn bộ tuyến đường trở lại cơ sở dữ liệu.

Cơ chế vận hành yêu cầu máy chủ web giao tiếp với Redis để xác định tính khả dụng của dữ liệu mong muốn. Do đó, trong trường hợp yêu cầu tiếp theo phản ánh giao dịch truy vấn trước đó, đối tượng Redis, nằm trong bộ đệm đối tượng, sẽ can thiệp để thực hiện yêu cầu, do đó loại bỏ nhu cầu tương tác với máy chủ MySQL một lần nữa.

Trong các trường hợp được đặc trưng bởi sự phối hợp của một loạt máy chủ web mở rộng, điển hình là một nhóm quy mô lớn bao gồm nhiều đơn vị, việc tích hợp bộ đệm Redis duy nhất có thể tổng hợp một cách hiệu quả các yêu cầu và phản hồi phát ra từ các máy chủ web này. Cấu hình này loại bỏ một cách hiệu quả yêu cầu đối với mỗi máy chủ web riêng lẻ phải bắt tay vào toàn bộ quỹ đạo tới cơ sở dữ liệu trong mỗi trường hợp hoạt động.

Tại sao tích hợp Redis với WordPress

Kích hoạt Redis Cache trong cài đặt WordPress Core của bạn mang lại lợi thế trong việc đẩy nhanh việc phân phối nội dung cho khách hàng. Do WordPress sử dụng rộng rãi tính năng tra cứu truy vấn MySQL, sự suy giảm hiệu suất trở nên rõ ràng trong các trường hợp có lưu lượng truy cập cao.

Trong những trường hợp như vậy, bộ đệm Redis đảm nhận vai trò then chốt, giải quyết thành công tình huống này. Hoạt động như một cơ sở dữ liệu cặp khóa-giá trị dựa trên bộ nhớ, Redis bảo tồn tất cả dữ liệu tương ứng trong bộ nhớ, từ đó cung cấp giải pháp bộ nhớ đệm phía máy chủ nhanh chóng được tùy chỉnh cho WordPress.

Chúng tôi sẽ thiết lập bộ đệm đối tượng Redis, một biện pháp được đưa ra để tinh chỉnh việc sử dụng cơ sở dữ liệu WordPress. Bộ nhớ đệm đối tượng Redis này đóng vai trò như một kho lưu trữ các kết quả đầu ra được lưu trong bộ nhớ đệm bắt nguồn từ các truy vấn cụ thể hướng đến máy chủ MySQL. Do đó, khi những người dùng khác truy cập các bài đăng hoặc bài viết giống hệt nhau, bộ đệm đối tượng sẽ nhanh chóng đáp ứng yêu cầu của họ, loại bỏ nhu cầu truy vấn máy chủ MySQL.

Do đó, việc gọi lặp lại cơ sở dữ liệu WordPress MySQL được giảm thiểu thông qua việc lưu vào bộ nhớ đệm các truy vấn phức tạp, tạo điều kiện thuận lợi cho việc phân phối các kết quả được lưu trong bộ nhớ đệm cho các yêu cầu tương tự tiếp theo. Chiến lược này tránh được một chuyến đi khứ hồi bổ sung tới máy chủ MySQL, sau đó nâng cao thời gian phản hồi của máy chủ và tốc độ tổng thể của trang web.

Yêu cầu trước cho nhiệm vụ

Để tiếp tục thực hiện các hướng dẫn được nêu trong hướng dẫn này, bắt buộc phải sở hữu một trang web WordPress đang hoạt động được lưu trữ trên một máy chủ từ xa. Lý do đằng sau sự cần thiết này bắt nguồn từ thực tế là việc tối ưu hóa một trang web được lưu trữ cục bộ trên máy tính cá nhân của bạn là không khả thi, do tính chất hiển thị phía máy chủ của WordPress. Do đó, bắt buộc phải lưu trữ WordPress trên một máy chủ từ xa, điều kiện tiên quyết để định cấu hình bộ đệm Redis cũng như nâng cao thời gian phản hồi của máy chủ và tốc độ tổng thể của trang web. Điều quan trọng nhất cần lưu ý là không thể thiếu sự hiểu biết cơ bản về cách sử dụng WordPress để tương tác hiệu quả với nội dung của hướng dẫn này.

Cài đặt WordPress với máy chủ AWS EC2

Trong hướng dẫn hướng dẫn này, tôi đã thiết lập bản cài đặt WordPress sử dụng nền tảng Amazon Web Services (AWS). Dưới đây là các hướng dẫn thủ tục ngắn gọn mô tả quy trình cấu hình của nó. Ban đầu, bắt buộc phải xác minh việc sở hữu tài khoản AWS đang hoạt động; Điều đáng chú ý là tài khoản cấp miễn phí là đủ cho mục đích minh họa này.

Tiếp tục truy cập bảng điều khiển AWS và điều hướng đến dịch vụ Amazon Elastic Computing Cloud (EC2), sau đó thực hiện khởi chạy phiên bản ảo. Sau đó, trong phạm vi AWS Marketplace, hãy tiến hành tìm kiếm kỹ càng ứng dụng WordPress. Cần nhấn mạnh rằng cấu hình hiện tại vẫn đủ điều kiện cho danh mục bậc miễn phí. Theo đó, hãy chọn phiên bản WordPress được đóng gói bằng Bitnami, hoạt động trên kiến ​​trúc Máy chủ HTTP Apache.

Chọn loại phiên bản AWS thích hợp. Đối với trường hợp cụ thể này, hãy chọn loại phiên bản vi mô t2, đủ điều kiện để đủ điều kiện cho bậc miễn phí. Sau đó, tiến tới nút "Xem lại khởi chạy" và sau khi được xác minh, hãy thực hiện khởi chạy phiên bản.

Tạo cặp khóa mới để thiết lập kết nối an toàn giữa máy chủ này và máy tính cục bộ. Đảm bảo cặp khóa đã tải xuống có nguồn gốc từ quy trình này được giữ lại trước khi bắt đầu các phiên bản.

Hãy kiên nhẫn trong khi AWS khởi tạo và bắt đầu khởi chạy phiên bản. Để có quyền truy cập vào các phiên bản đã khởi chạy, chỉ cần nhấp vào mã định danh khởi chạy được cung cấp như được chỉ ra bên dưới.

Sau khi xác nhận trạng thái hoạt động của phiên bản và cấu hình thành công của WordPress, địa chỉ IP được chỉ định sẽ hiển thị rõ ràng. Để truy cập blog WordPress được thiết lập gần đây, chỉ cần nhập địa chỉ IPv4 công cộng được chỉ định vào trình duyệt web. Đối với môi trường sản xuất, việc sử dụng trực tiếp tên miền của bạn là đủ.

Truy cập máy chủ bằng PuTTY

Bắt đầu bằng việc mua ứng dụng PuTTY, một ứng dụng khách nguồn mở hỗ trợ các chức năng Secure Shell (SSH) và telnet trên nền tảng Windows. Sau khi mua lại, hãy tiến hành cài đặt PuTTY vào máy tính của bạn.

Sau khi cài đặt thành công PuTTY, hãy tìm tiện ích PuTTYgen trong thư mục máy tính của bạn và bắt đầu khởi chạy nó. Giai đoạn này đòi hỏi phải chuyển đổi cặp khóa được tạo trước đó thành tệp khóa công khai. Trong giao diện PuTTYgen, tải khóa được chỉ định, bắt đầu quá trình tạo khóa và sau đó bảo toàn khóa riêng đã tạo.

Sau các thủ tục này, hãy khởi chạy ứng dụng PuTTY và nhập tên máy chủ hoặc tên miền của máy chủ thích hợp. Điều hướng qua giao diện đến phần 'Phiên' và cung cấp địa chỉ IP hoặc tên miền liên quan, nếu được định cấu hình.

Cấu hình sâu hơn được đảm bảo trong menu 'Kết nối', cụ thể là trong tiểu mục 'SSH' và sau đó là 'Xác thực'. Ở đây, khóa SSH đã lưu gần đây phải được tải. Sau khi được định cấu hình, kết nối có thể được thiết lập bằng cách chọn tùy chọn 'Mở'.

Sau khi kết nối thành công, giao diện terminal sẽ hiện ra. Nhập 'bitnami' làm thông tin đăng nhập. Đáng chú ý là 'bitnami' là tên người dùng mặc định được quy định trong quá trình cài đặt WordPress. Nếu bất kỳ sửa đổi tên người dùng nào đã được thực hiện, hãy nhập tên người dùng đã sửa đổi cho phù hợp. Giao diện đầu cuối này cung cấp một nền tảng tương tác để giới thiệu các thư viện và tiện ích mở rộng bổ sung nhằm nâng cao chức năng của máy chủ WordPress.

Thêm Redis vào máy chủ gốc

Bây giờ WordPress đang được chạy trên cùng một máy chủ gốc, Redis phải được thêm vào. Chạy lệnh sau trên thiết bị đầu cuối PuTTY mà chúng ta vừa đăng nhập để thực hiện việc này.

sudo apt install redis

Kết quả là Redis sẽ được cài đặt trên địa chỉ IP này. Bạn có thể khởi động lại nó bằng sudo systemctl restart redis.service để cho phép mọi thứ được cấu hình. Hãy thực hiện để xem máy chủ Redis có hoạt động không.

sudo systemctl status redis

Redis được cấu hình đúng trên máy chủ của chúng tôi. Bạn có thể nhận thấy rằng chúng tôi chưa đăng ký bất kỳ khóa bộ đệm Redis nào bằng cách chạy redis-cli và lệnh keys * .

Bây giờ mọi thứ đã được thiết lập, chúng ta cần truy cập WordPress wp-admin và thêm plugin Redis. Kết quả là bạn chỉ cần nhập địa chỉ IP hoặc tên miền và wp-admin như hiển thị bên dưới.

your-ip-address/wp-admin

Đi tới phiên bản đang chạy của bạn trên AWS, nhấp chuột phải vào "Giám sát và khắc phục sự cố" rồi nhập thông tin đăng nhập wp-admin. Nhật ký hệ thống, xin vui lòng. Để truy cập wp-admin, bạn sẽ nhận được thông tin đăng nhập Bitnami WordPress mặc định của mình. Và bạn đã đến được bảng điều khiển quản trị.

Thêm Redis vào WordPress


Trước khi định cấu hình Redis, cần tiến hành cài đặt và kích hoạt plugin Query Monitor .

Plugin Trình giám sát truy vấn tạo điều kiện thuận lợi cho việc gỡ lỗi nhiều khía cạnh khác nhau, bao gồm truy vấn cơ sở dữ liệu, lỗi PHP, hook và hành động, các khối trong trình chỉnh sửa khối, tập lệnh và bảng định kiểu được liệt kê, lệnh gọi API HTTP, v.v. Hơn nữa, nó cung cấp khả năng hiển thị số lượng truy vấn cơ sở dữ liệu toàn diện được tổ chức bởi các plugin riêng lẻ.

Để bắt đầu quá trình này, hãy điều hướng đến trang chủ của trang web của bạn và truy cập menu Trình theo dõi truy vấn.

Khi làm như vậy, bảng thông tin Trình giám sát truy vấn sẽ được khởi chạy.

Sau đó, hướng sự chú ý của bạn đến các số liệu thu được từ trang cụ thể này. Đáng chú ý, đây là một trang web tương đối không phức tạp, có thể quan sát được với tổng số 23 Truy vấn cơ sở dữ liệu, được thực hiện chỉ trong vòng 0,0013 mili giây.

Khi bước sơ bộ này đã hoàn tất, hãy tiến hành giới thiệu một plugin mới. Như một ví dụ minh họa, hãy tìm kiếm "Redis" và chọn plugin " Redis Object Cache " cụ thể.

Sau khi lựa chọn, tiến hành cài đặt và kích hoạt plugin. Sau đó, hãy chuyển đến phần cài đặt Redis trong menu bảng điều khiển của bạn. Tại thời điểm này, việc kích hoạt tính năng Object Cache là bắt buộc.

Bằng cách làm theo các hướng dẫn này, Redis sẽ được định cấu hình bằng cài đặt mặc định.

xác minh

Trong bối cảnh tối ưu hóa trang web, khi truy cập một blog trên trang web của bạn, chẳng hạn như blog WordPress "hello world" mặc định, kết quả của yêu cầu này sẽ được lưu trữ trong kho dữ liệu Redis.

Sau đó, điều hướng đến thiết bị đầu cuối và khởi chạy Giao diện dòng lệnh Redis (CLI) bằng lệnh " redis-cli " cùng với các phím được chỉ định (ký hiệu là *). Tại thời điểm này, bạn sẽ thấy rằng Redis đã ghi lại các khóa WordPress (wp) mới một cách hợp lệ.

Cấu hình này hoàn tất việc thiết lập Redis cho mục đích lưu vào bộ đệm trong môi trường WordPress.

Để chứng kiến ​​hiệu ứng, hãy tiến hành làm mới trang chủ mà bạn đã tải ban đầu, đồng thời sử dụng Trình giám sát truy vấn.

Quan sát thu được cho thấy một sự cải tiến đáng chú ý: trang hiện chỉ tải ba truy vấn cơ sở dữ liệu, mỗi truy vấn được hoàn thành trong thời gian cực kỳ nhanh chóng là 0,0003 mili giây. Việc tối ưu hóa này đã giảm bớt đáng kể gánh nặng tích lũy về thời gian xử lý truy vấn cơ sở dữ liệu của chúng tôi. Các truy vấn nói trên hiện được lưu trữ một cách có hệ thống trong bộ nhớ, do đó giảm tần suất gọi trực tiếp đến cơ sở dữ liệu MySQL. Sự phối hợp này góp phần nâng cao khả năng phản hồi phụ trợ trong việc đáp ứng các yêu cầu gửi đến.

Kết thúc

Điều này sẽ rất quan trọng trong việc làm cho trang web của bạn nhanh hơn nếu bạn quản lý một trang web lớn như thương mại điện tử. Ngoài ra, bằng cách lưu vào bộ nhớ đệm các quy trình sử dụng nhiều cơ sở dữ liệu, trang web sẽ có khả năng phục hồi tốt hơn.

Ngay cả khi nhiều người cùng đặt hàng, họ vẫn sử dụng bộ đệm để truy xuất dữ liệu. Sẽ sử dụng ít tài nguyên hơn và trải nghiệm phụ trợ sẽ nhanh hơn.

Redis chỉ lưu trữ các đối tượng và truy vấn cơ sở dữ liệu. Điều này có nghĩa là bạn có thể tiếp tục sử dụng các plugin bộ đệm khác để lưu vào bộ đệm các trang của mình và tăng tốc trang web của mình, như Cache EnablerWP Cloudflare .

Divi WordPress Theme