Thời gian chờ là thời gian bạn chờ phản hồi từ yêu cầu trước khi bạn từ bỏ. TimeOut = 0 có nghĩa là bạn sẽ tiếp tục đợi kết nối xảy ra mãi mãi. Tốt tôi đoán nếu bạn đang kết nối với một máy chủ thực sự chậm mà nó là bình thường nếu phải mất 12 giờ để trả lời :-). Nói chung là một điều xấu. Bạn muốn đặt một số loại thời gian chờ hợp lý trên một yêu cầu, để bạn có thể nhận ra mục tiêu của bạn là xuống và tiếp tục với cuộc sống của bạn.
Thời gian kết nối = thời gian kết nối tồn tại trước khi bị giết và tạo lại. Tuổi thọ 0 nghĩa là không bao giờ giết và tái tạo. Thông thường không phải là một điều xấu, bởi vì giết chết và tái tạo một kết nối chậm. Thông qua các lỗi khác nhau, kết nối của bạn có thể bị kẹt trong trạng thái không ổn định (như khi giao dịch với các giao dịch 3 chiều lạ) .. nhưng 99% thời gian là tốt để duy trì kết nối suốt đời như vô hạn.
Kết nối tổng hợp là một cách để giải quyết thực tế là việc tạo kết nối rất chậm. Vì vậy, thay vì tạo một kết nối mới cho mọi yêu cầu, thay vào đó có một nhóm nói, 10, các kết nối được tạo trước. Khi bạn cần một, bạn mượn một, sử dụng nó, và trở lại in Bạn có thể điều chỉnh kích thước của hồ bơi để thay đổi cách ứng dụng của bạn hoạt động. Hồ bơi lớn hơn = nhiều kết nối = nhiều chủ đề hơn làm công cụ tại một thời điểm, nhưng điều này cũng có thể áp đảo bất cứ điều gì bạn đang làm.
Tóm tắt:
ConnectionTimeout = 0 là không tốt, làm cho nó hợp lý như 30 giây.
ConnectionLifetime = 0 được phép
Kết nốiPool = tắt bị vô hiệu là xấu, bạn có thể sẽ muốn sử dụng nó.
Tôi có thể biết nếu bạn có bất kỳ ý tưởng nào về cách xuất hiện lỗi này không? 'Không thể kết nối với bất kỳ máy chủ MySQL được chỉ định nào.' – Mark
Máy chủ của bạn không phản hồi. Có thể được xuống, không thể được mở trên cổng bên phải, có thể là một bức tường lửa, vv Cần thêm chi tiết – bwawok
Tôi thích desc tiết hơn của ConnectionLifetime sau đó tài liệu mysql. – Nicholi