it-swarm-vi.com

Bế tắc trên bảng phiên

Không thường xuyên, thay vì tải trang web của tôi, tôi nhận được một màn hình trắng với thông báo lỗi này:

Bế tắc được tìm thấy khi cố gắng để có được khóa; hãy thử khởi động lại giao dịch SQL = INSERT INTO jom_session (session_id, client_id, guest, time, userid, username) GIÁ TRỊ ('cv95odk14jbe8738ecg9se9de1', 0, 0, '1402423781', 101, '[email protected]')

Tôi không thể sao chép nó nhưng tôi đã nhìn thấy nó trước đó và nó đã được báo cáo bởi những người dùng khác. Có cách nào để ngăn chặn điều này xảy ra?

3
ContextSwitch

Nếu có sự bế tắc, nó sẽ chỉ ra rằng các cập nhật chỉ mục được thực hiện từ các hướng khác nhau để nói và có thể có một lỗi trong Joomla gây ra điều này. Ngoài việc ghi lại các triệu chứng hoặc cố gắng tìm ra lỗi, bạn có thể giảm thiểu vấn đề bằng cách cho phép bảng phiên hoạt động hiệu quả hơn.

Ngoài nhận xét của Jordans, bạn có thể làm cho bảng phiên rất hiệu quả bằng cách biến nó thành bảng MySQL kiểu NHỚ. Điều này có nghĩa là các phiên bị mất tuy nhiên khi khởi động lại MySQL.

Để biến nó thành một bảng bộ nhớ, hãy chuyển trường dữ liệu từ trung bình sang một cái gì đó như varchar (15000) (kích thước phụ thuộc vào tiện ích mở rộng nào lưu trữ dữ liệu nào), sau đó chuyển loại sang MEMOR.

Bạn cũng cần cho phép đủ bộ nhớ "heap" trong cấu hình MySQL của mình vì bảng sẽ được giữ trong bộ nhớ. Đối với các trang web lớn tôi quản lý, tôi sử dụng tối đa 640MB.

Đối với tất cả điều này, bạn cần phải có một VPS ít nhất là tất nhiên.

1
jdog