Vì một số lý do kỳ lạ, hôm nay máy chủ của chúng tôi đã quyết định rất chậm trong thời gian bắt đầu phiên. Đối với mỗi session_start, máy chủ sẽ hết thời gian chờ sau 30 giây hoặc sẽ mất khoảng 20 giây để máy chủ bắt đầu phiên. Điều này là rất lạ, nhìn thấy như nó đã không làm điều này trong một thời gian rất dài (lần cuối cùng máy chủ của chúng tôi đã làm điều này là khoảng 7 vài tháng trước đây). Thay vào đó, tôi đã cố gắng thay đổi phiên chạy qua cơ sở dữ liệu và hoạt động tốt, vì trang web hiện tại của chúng tôi được xây dựng, sẽ mất vài ngày để đi trên mỗi trang và thay đổi tải phiên để bao gồm phiên mới xử lý. Do đó, câu hỏi của tôi vẫn là:session_start có vẻ rất chậm (nhưng đôi khi chỉ)
Tại sao quá chậm và tại sao chỉ thỉnh thoảng?
Chúng tôi chạy trên một máy chủ hetzner chuyên dụng với ram 24GB và CPU đủ nhanh để chỉ chạy một máy chủ web đơn giản (một Xeon, tôi tin, nhưng tôi không chắc chắn). Chúng tôi chạy debian trên máy chủ với thiết lập apache + fastcgi + php5.
Máy chủ không báo cáo tải nhiều, không thông qua trạng thái máy chủ cũng như lệnh top
. Vnstat
báo cáo không có vấn đề gì với liên kết mạng của chúng tôi (một lần nữa, điều đó sẽ không dẫn đến việc xử lý phiên chậm cục bộ). IOtop
báo cáo không có vấn đề với các quá trình chiếm toàn bộ đĩa cứng. Viết vào thư mục tmp nơi tệp phiên được đặt hoạt động nhanh nếu được thực hiện thông qua vim.
Một lần nữa, để làm điều này rõ ràng, mối quan tâm chính của tôi ở đây không phải là chúng ta nên chuyển sang DB hay phiên bản bộ nhớ được lưu trong bộ nhớ, đơn giản là hỏi tại sao điều này xảy ra nhìn vào dường như làm việc tốt, ngoại trừ bản thân PHP.
CHỈNH SỬA: Tệp tối đa trong thư mục tmp PHP của chúng tôi là 2,9 MB, vì vậy không có gì phải ảnh hưởng, tôi tin.
CẬP NHẬT: Tôi chưa bao giờ tìm ra điều gì sai và/hoặc cách khắc phục, nhưng sự cố đã biến mất sau khi chúng tôi chuyển sang phiên memcached/db.
Hãy xem trong thư mục 'tmp' của bạn. PHP lưu trữ các phiên của nó ở đó. Xem có bất cứ điều gì không ổn. – freshnode
Có vấn đề gì với đĩa hoặc hệ thống tập tin? – Jon
"nó sẽ mất nhiều ngày để đi trên mỗi trang và thay đổi tải phiên để bao gồm một phiên xử lý mới" Nếu đó là trường hợp bạn nghiêm túc nên xem xét sửa chữa thực tế đó đầu tiên – PeeHaa