Sự khác biệt giữa iisreset, tái chế, làm mới và khởi động lại là gì?


53

Trong IIS7, có rất nhiều thứ bạn có thể làm mà dường như khởi động lại trang web. Tôi không rõ chính xác làm thế nào tất cả chúng có liên quan.

  • chạy iisreset từ dòng lệnh
  • làm mới một trang web
  • tái chế một nhóm ứng dụng
  • khởi động lại một trang web

Ai đó có thể giải thích chính xác những gì mỗi người làm vui lòng?

Câu trả lời:


60

iisreset sẽ dừng và bắt đầu Dịch vụ xuất bản World Wide Web. Điều này, tất nhiên, áp dụng cho tất cả các nhóm ứng dụng của bạn. Tôi chắc chắn rằng bạn nhận thấy một quy trình được tạo cho mỗi nhóm ứng dụng. Quá trình này sẽ xử lý các yêu cầu cho tất cả các trang web liên quan đến nó. Khi bạn tái chế một nhóm ứng dụng , IIS sẽ tạo một quy trình mới (giữ nguyên quy trình cũ) để phục vụ các yêu cầu. Sau đó, nó cố gắng di chuyển tất cả các yêu cầu trên quy trình mới. Sau khi hết thời gian, quy trình cũ sẽ tự động bị hủy. Bạn thường tái chế nhóm ứng dụng của mình để loại bỏ bộ nhớ bị rò rỉ (bạn có thể gặp sự cố trong ứng dụng nếu điều này cần phải là một hoạt động thường xuyên, mặc dù nó được khuyến nghị để tái chế theo lịch trình). Để khởi động lại một trang web, nó chỉ dừng lại và khởi động lại các yêu cầu phục vụ cho trang web cụ thể đó. Nó sẽ tiếp tục phục vụ các trang web khác trên cùng một nhóm ứng dụng mà không bị gián đoạn.

Nếu bạn có một ứng dụng hướng phiên, tất cả những điều trên sẽ gây mất đối tượng phiên.

Làm mới trang web không có tác dụng đối với dịch vụ / quy trình / trang web và chỉ đơn thuần là lệnh UI để làm mới treeview (có thể bạn đã thêm một thư mục bạn không thấy trong bảng điều khiển quản lý).


1
Bạn có một nguồn cho thông tin này?
Joshua Drake

@JoshuaDrake đây là một bài viết rất đẹp giải thích iisreset vs hồ bơi ứng dụng tái chế fullsocrates.wordpress.com/2012/07/25/...
Rashmi Pandit

Nếu tôi có một trang web có nhóm ứng dụng và nhiều thư mục Ứng dụng có nhóm ứng dụng riêng, liệu khởi động lại trang web có khởi động lại tất cả nhóm ứng dụng không?
sonjz

Một nhóm ứng dụng có thể được sử dụng cho nhiều trang web? Hay là một đối một?
James Wierzba

5

Để trả lời hai câu hỏi khác của bạn:

  • Làm mới một trang web chỉ cần tải lại dữ liệu từ máy chủ
  • Khởi động lại một trang web không thực sự làm nhiều. Bằng cách dừng trang web, nó sẽ không còn lắng nghe yêu cầu về bất kỳ ràng buộc nào của nó. Bắt đầu lại làm cho nó bắt đầu nghe lại. Các quy trình phục vụ trang web vẫn không bị ảnh hưởng.

4

iisreset dừng lại và khởi động toàn bộ máy chủ web. Đó là tất cả mọi thứ - tất cả người dùng của bạn mất kết nối trong khi điều này đang xảy ra.

Tái chế một nhóm ứng dụng dừng lại và bắt đầu các quy trình liên quan đến (các) ứng dụng trong nhóm đó. Nói đúng ra, nó không liên quan gì đến trang web (ngoại trừ nội dung hoạt động từ các ứng dụng đó.)


1
Điều gì về làm mới và khởi động lại?
jimcon ổn định

1
Tôi không sử dụng IIS 7 nhiều và thậm chí không có IIS 6 trước mặt tôi. Help nói họ làm gì?
mfinni

2

@Vlad Mucescu đã đưa ra một câu trả lời hay nhưng có vẻ như là phần mà anh ấy mô tả tái chế một ứng dụng mà anh ấy nói về Tái chế chồng chéo. Có hai loại tái chế: Tái chế quy trình và Tái chế chồng chéo ( nguồn MSDN ):

Tái chế quy trình

Chế độ cách ly quy trình công nhân cung cấp tái chế quy trình, trong đó IIS tự động làm mới các ứng dụng Web bằng cách khởi động lại các quy trình công nhân của họ. Tái chế quy trình giữ cho các ứng dụng có vấn đề chạy trơn tru và là một giải pháp đặc biệt hiệu quả trong trường hợp không thể sửa đổi mã ứng dụng.
Quá trình tái chế, theo sau sự kiện tái chế, có thể xảy ra theo hai cách.
Nếu quy trình công nhân hiện đang phục vụ nhóm ứng dụng chấm dứt, thì Dịch vụ WWW (W3SVC), đóng vai trò là quy trình chính cho quy trình công nhân, khởi động lại một quy trình mới.
Khi quá trình worker kết thúc, một cái mới được bắt đầu đồng thời. Loại tái chế này được gọi là tái chế chồng chéo. Nó là mặc định cho tất cả các nhóm ứng dụng.

Tái chế chồng chéo

Trong kịch bản tái chế chồng chéo, quy trình được nhắm mục tiêu cho tái chế tiếp tục xử lý tất cả các yêu cầu còn lại trong khi quy trình nhân viên thay thế được tạo đồng thời. Quá trình mới được bắt đầu trước khi quy trình công nhân cũ dừng lại và sau đó các yêu cầu được chuyển đến quy trình mới. Thiết kế này ngăn ngừa sự chậm trễ trong dịch vụ, vì quy trình cũ tiếp tục chấp nhận các yêu cầu cho đến khi quy trình mới được khởi tạo thành công và được hướng dẫn tắt chỉ sau khi quy trình mới sẵn sàng xử lý các yêu cầu.

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.