Tác động của khởi động lại duyên dáng và trải nghiệm người dùng của Apache


10

Có an toàn để thực hiện gracefulkhởi động lại Apache trên máy chủ sản xuất không? Những tác động nào sẽ gây ra khởi động lại duyên dáng và tác động (nếu có) là gì? Sẽ có bất kỳ tác động bất lợi nào (ví dụ như thời gian chết, ngay cả khi chỉ trong một thời gian ngắn)?

Tôi đã xem xét các tài nguyên sau, nhưng vẫn chưa rõ tác động đến người dùng sẽ là gì:

Câu trả lời:


9

Khi thực hiện khởi động lại duyên dáng, các kết nối hiện có sẽ chạy đến hoàn thành bình thường tại điểm mà công nhân của họ sẽ chấm dứt. Công nhân mới nên được bắt đầu để xử lý các kết nối mới.

Bạn không nên nhận thấy bất kỳ lỗi kết nối hoặc tải trang chậm nhưng trong thực tế, bạn có thể thấy các kết nối mới xếp hàng nhanh chóng trong khi cấu hình được tải lại bởi luồng chính (thời gian của tôi mất dưới nửa giây)

Nếu bạn đang khởi động lại để chọn một cấu hình mới thì có nguy cơ có thể xảy ra lỗi cấu hình có thể ngăn máy chủ khởi động lại đúng cách.

Nếu máy chủ ở trạng thái bất thường, nó có thể không khởi động lại một cách duyên dáng (có lẽ đó là lý do tại sao bạn đang xem xét khởi động lại duyên dáng)


1

Nếu Apache đang phục vụ các tệp tĩnh và không đóng vai trò là mặt trước đối với một thứ như , thì nó khá trơn tru. Hầu hết người dùng thậm chí sẽ không nhận thấy, và những người làm điều đó sẽ coi đó là sự ổn định bình thường. Apache sẽ không phục vụ các yêu cầu mới cho đến khi các yêu cầu cũ được phục vụ, vì vậy bạn sẽ đợi cho đến khi tất cả chúng kết thúc. Nếu ai đó đang tải xuống tệp 500MB với tốc độ 68KB / giây, bạn có thể đang chờ THỜI GIAN DÀI, trong thời gian đó không có phục vụ nào khác xảy ra.

Nếu Apache đang đứng trước một máy chủ ứng dụng, tình huống có thể rất khác. Từ kinh nghiệm, UX để tương tác với máy chủ đó sẽ rất tệ cho đến khi máy chủ ứng dụng được tải lên, tải và bộ đệm được làm ấm.


5
Ngoài ra, điều RẤT quan trọng là phải thực hiện /etc/init.d/httpd configtesttrước khi tiến hành bất kỳ loại apache nào khởi động lại trên máy chủ sản xuất.
Sree

Thật vậy - điều khá quan trọng là chạy configtest. IIRC, tôi nghĩ với các phiên bản sau của Apache có thể thực hiện một cấu hình ngầm trước khi khởi động lại duyên dáng và nếu nó không thành công với cấu hình, nó sẽ không tiếp tục khởi động lại.
stellarchariot

5
"Apache sẽ không phục vụ các yêu cầu mới cho đến khi các yêu cầu cũ được phục vụ, vì vậy bạn sẽ đợi cho đến khi tất cả chúng kết thúc. Nếu ai đó đang tải xuống tệp 500MB với tốc độ 68KB / giây, bạn có thể chờ trong một thời gian dài, trong thời gian đó không có ai khác phục vụ đang diễn ra. " Điều này không chính xác. Cấu hình được tải lại ngay lập tức và các quy trình con mới được tạo, chấp nhận kết nối và xử lý các yêu cầu trong khi thế hệ trước đang hoàn thành các yêu cầu cuối cùng của chúng.
giao ước

0

Tham số duyên dáng nói trên cho httpd bắt đầu quá trình khởi động lại bằng cách trước tiên báo hiệu tất cả các quy trình con của nó để hoàn thành các nhiệm vụ hiện tại của chúng. Sau khi tất cả các tiến trình con (những tiến trình phục vụ yêu cầu http) đã hoàn thành nhiệm vụ, chúng sẽ đóng lại; nếu bất kỳ con nào xử lý hiện không phục vụ yêu cầu, chúng sẽ đóng ngay lập tức.

Trong khi đó, hãy ngừng các nỗ lực chấm dứt tất cả các quy trình con ngay lập tức, điều này có thể khiến người dùng cuối bị treo. Sở thích của tôi là duyên dáng - một lựa chọn tốt hơn cho máy chủ cấp doanh nghiệp của bạn - bởi vì nó thân thiện hơn việc chấm dứt đột ngột các quy trình con đang phục vụ khách hàng. Nhiều quản trị viên và đặc biệt là các lập trình viên sử dụng dừng để dừng máy chủ của họ, thường là vì họ không biết rằng sự duyên dáng thậm chí còn tồn tại.

Liên kết: https://www.godaddy.com/garage/tech/config/how-to-restart-apache-without-reboote-your-centos-linux-server/ Link

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.