Các vấn đề thường gặp
Các vấn đề thường gặpTránh timeout trên máy chủ PHP

Tránh timeout trên máy chủ PHP

Yêu cầu gửi đến API của dịch vụ AI bao gồm càng nhiều chuỗi cần dịch càng tốt. Yêu cầu càng dài, API càng cần nhiều thời gian để xử lý.

Phản hồi chậm có thể gây ra timeout trên máy chủ PHP của bạn (ví dụ: nếu thời gian thực thi tối đa của một script PHP là 30 giây).

Để tránh timeout, bạn có thể:

  • Đặt Translation Timeout thấp hơn max_execution_time của PHP (khuyến nghị)
  • Tăng thời gian thực thi tối đa trong cấu hình PHP
  • Giảm kích thước payload gửi đến API trong cài đặt plugin
  • Tăng số lượng yêu cầu gửi đi đồng thời mà máy chủ của bạn cho phép (xem Dịch nhiều bài viết cùng lúc sang nhiều ngôn ngữ bị thất bại)

Khi giảm kích thước payload, yêu cầu sẽ được chia thành nhiều yêu cầu nhỏ hơn, mỗi yêu cầu sẽ được giải quyết nhanh hơn.

Vào Settings > Service Configuration > [AI service], và giảm tùy chọn Max request payload length xuống một số ký tự phù hợp để tránh lỗi timeout.

Ví dụ: nếu được đặt thành 4000 và bị lỗi, hãy thử đặt thành 2000.

Cài đặt tùy chọn 'Max request payload length'
Cài đặt tùy chọn 'Max request payload length'

Cài đặt Translation Timeout

Máy chủ web của bạn áp đặt thời gian chạy tối đa cho mọi yêu cầu PHP thông qua chỉ thị max_execution_time (được đặt trong php.ini, hoặc qua bảng điều khiển hosting của bạn).

Plugin cung cấp tùy chọn Translation Timeout trong phần Cài đặt, dưới Plugin Configuration > Translation Timeout. Hãy giữ giá trị này thấp hơn max_execution_time của máy chủ để một bản dịch bị treo sẽ thất bại một cách có kiểm soát với thông báo lỗi trong nhật ký, thay vì kích hoạt timeout chung của máy chủ (HTTP 502 / 504, hoặc trang trắng hiển thị "Maximum execution time of N seconds exceeded").

Cài đặt tùy chọn Translation Timeout
Cài đặt tùy chọn Translation Timeout

Nếu các bản dịch của bạn thường xuyên bị timeout, hãy tăng cả hai giá trị này và max_execution_time của máy chủ cùng một lúc.