WPML

WPML 3.5 bao gồm một thay đổi lớn đối với Dịch chuỗi. Khi chúng tôi đưa nó vào hoạt động, chúng tôi đã biết được một số trường hợp không xuất hiện trong quá trình phát triển. Các bản cập nhật tiếp theo xử lý tất cả các vấn đề và cải thiện hơn nữa hiệu suất.

Các bản sửa lỗi từ WPML 3.5


  • Sửa lỗi ngoại lệ chưa được bắt trong các trường hợp cột domain_name_context_md5 không tồn tại trong bảng icl_strings

  • Sửa lỗi Fatal error: Uncaught exception ‘InvalidArgumentException’ with message ‘Argument ID must be numeric and greater than 0 khi lọc các đường dẫn tĩnh

  • Sửa lỗi nghiêm trọng xuất hiện trong quá trình nâng cấp: WordPress database error: specified key was too long; max key length is 1000

  • Sửa lỗi Fatal error: Declaration of WPML_Post_Element::get_type() must be compatible with that of WPML_Translation_Element::get_type() đối với PHP 5.2

  • Xóa dấu gạch chéo ngược ở đầu \ để tránh các cảnh báo trong PHP trước bản 5.3

Cải thiện tốc độ


Chúng tôi đã thực hiện một vài tinh chỉnh đối với bảng mới lưu trữ các chuỗi xuất hiện trên trang nào. Những thay đổi này làm giảm đáng kể kích thước bảng, cải thiện hiệu suất và giảm mức tiêu thụ bộ nhớ.

  • Chia một bảng lớn có các phần dư thừa thành hai bảng nhỏ và hiệu quả

  • Tối ưu hóa các chỉ mục của bảng

  • Giới hạn khả năng tăng kích thước bảng đối với các trang web sử dụng đối số URL, bằng cách sử dụng danh sách trắng các đối số sửa đổi lựa chọn trang

Kết quả


Chúng tôi đã thực hiện một số đo lường về hiệu suất của chính trang web của mình trong các lần cập nhật phiên bản. Bạn có thể thấy mức tải đã giảm như thế nào, sau đó tăng lên (khi các chỉ mục của bảng không được tối ưu hóa) và bây giờ nó đã trở lại và ở mức thấp hơn so với ban đầu.
WPML 3.4 - Dịch chuỗi đang mất nhiều thời gian tải hơn vì chúng tôi đang tải trước rất nhiều chuỗi
WPML 3.4 – Dịch chuỗi đang mất nhiều thời gian tải hơn vì chúng tôi đang tải trước rất nhiều chuỗi
Dịch chuỗi đã giảm, nhưng bây giờ chúng ta có một bảng string_pages lớn
Thời gian tải của Dịch chuỗi thấp hơn, nhưng bây giờ chúng ta có một bảng string_pages lớn.
Chúng tôi đã chia bảng string_pages thành hai bảng nhỏ hơn, nhưng một chỉ mục bổ sung làm cho các truy vấn select bị chậm
Chúng tôi đã chia bảng string_pages thành hai bảng nhỏ hơn, nhưng một chỉ mục bổ sung làm cho các truy vấn select bị chậm
Các bảng nhỏ hơn và chỉ mục chính xác. Cuối cùng chúng ta cũng ổn.
Các bảng nhỏ hơn và chỉ mục chính xác. Cuối cùng chúng ta cũng ổn.

Các con số tuyệt đối trong tất cả các biểu đồ này ít quan trọng hơn, vì chúng được lấy vào các ngày khác nhau trong tuần. Vào thứ sáu, lưu lượng truy cập của chúng tôi thấp hơn nhiều so với thứ hai. Để hiểu các thay đổi, hãy nhìn vào tỷ lệ giữa các phân đoạn. Bạn có thể thấy rằng ban đầu, việc truy cập icl_strings mất khoảng thời gian tương đương với việc tìm nạp các bài viết (điều này không tốt). Bây giờ, tất cả các truy cập cơ sở dữ liệu của WPML trung bình chỉ bằng 1/3 so với các truy vấn bài viết. Điều này rất có ý nghĩa, vì WPML cần tải rất nhiều chuỗi, trong khi WordPress chỉ cần một vài bài viết.

Một quy trình tốt hơn cho lần tới


Chúng tôi đã phải phát hành bản cập nhật này trước khi có thể chạy các đo lường hiệu suất hoàn chỉnh, vì nó bao gồm các thay đổi cho WordPress 4.6. Trong tương lai, chúng tôi sẽ đảm bảo tách biệt các cải thiện hiệu suất khỏi khả năng tương thích với WordPress. Ngay khi một phiên bản mới của WordPress đạt đến giai đoạn “release candidate”, chúng tôi sẽ thực hiện một phiên bản phát hành nhỏ chỉ với các thay đổi về khả năng tương thích. Chúng tôi sẽ dành thời gian để chạy các thay đổi hiệu suất dài hơn, không liên quan đến các bản sửa lỗi và bản cập nhật tương thích, và chỉ phát hành chúng sau khi chúng tôi rất hài lòng với kết quả.

Phiên bản phát hành tiếp theo của WPML sẽ tiếp tục tập trung vào tính ổn định và hiệu suất. 99% các trang web chạy WPML hiện đang hoạt động trơn tru, nhưng có một vài trang web sử dụng các cấu hình “độc đáo” của máy chủ web, PHP hoặc cơ sở dữ liệu. Chúng tôi sẽ giải quyết những vấn đề này trong phiên bản phát hành nhỏ sắp tới. Chúng tôi cũng đưa vào một vài tối ưu hóa hiệu suất khác, điều này sẽ làm cho cả trang quản trị và giao diện người dùng trở nên tinh gọn hơn.

Phản hồi?


Nếu bạn có câu hỏi, ý tưởng và đề xuất, vui lòng thêm bình luận của bạn. Chúng tôi rất vui khi nhận được phản hồi của bạn và chúng tôi nỗ lực hết sức để cung cấp những gì bạn cần.

Bạn thấy bài viết này hữu ích? Hãy chia sẻ bài viết này: