Điểm:0

Apache có mở và đóng mọi nhật ký trên mỗi lần truy cập không?

lá cờ in

Câu hỏi đặt ra là về nhật ký truy cập và lỗi, đặc biệt là với nhiều máy chủ (các phiên bản apache được cài đặt trên nhiều máy chủ) và giữ nhật ký tập trung trên hệ thống tệp mạng.

Apache có đóng từng tệp nhật ký sau mỗi lần ghi không?

Nếu có, trên một máy chủ bận rộn lưu trữ nhiều trang web, mỗi trang có nhật ký riêng, đó có vẻ là một nút cổ chai hiệu suất tiềm năng?

Nếu Không, giải pháp khi có nhiều máy chủ ghi vào một vị trí ghi nhật ký duy nhất trên hệ thống tệp mạng là gì?

Michael Hampton avatar
lá cờ cz
Vấn đề bạn đang gặp phải là gì?
Điểm:1
lá cờ cn

Apache có đóng từng tệp nhật ký sau mỗi lần ghi không?

Sử dụng nguồn, đó là tại: https://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/loggers/mod_log_config.c?view=markup

Bạn có thể đọc từ nó:

251 * log_writer là NULL trước khi tệp nhật ký được mở và
252 * được đặt thành cấu trúc mờ đục (thường là fd) sau khi được mở.

Đó là loại gợi ý rằng nó chỉ được mở một lần. Trên thực tế, nếu bạn nhìn vào mã, nó sẽ mở sớm, khi khởi tạo và sau đó không bao giờ đóng, vì những lý do rõ ràng về hiệu suất.

Nếu Không, giải pháp khi có nhiều máy chủ ghi vào một vị trí ghi nhật ký duy nhất trên hệ thống tệp mạng là gì?

Tuyệt đối đừng bao giờ làm thế, vì hai lý do. Đầu tiên không đăng nhập từ xa theo cách đó. Đăng nhập cục bộ (và gửi các tệp nhật ký riêng biệt, chẳng hạn như bạn có thể xoay vòng hàng giờ) hoặc sử dụng các trình nền thích hợp, nhật ký hệ thống theo mặc định, biết cách gửi nội dung nhật ký bằng UDP (hoặc TCP), cũng như các giải pháp mới hơn. Không gắn đĩa từ xa và ghi tệp nhật ký vào đó, điều đó sẽ làm giảm hiệu suất và tạo ra một loạt vấn đề (đặc biệt nếu bạn muốn nói từ xa như trong "NFS").

Và ngay cả khi cục bộ, mỗi ứng dụng nên đăng nhập vào tệp nhật ký của riêng nó, không có nhiều ứng dụng đăng nhập vào cùng một tệp, điều này chắc chắn sẽ tạo ra tất cả các loại điều kiện chủng tộc, ghi đè, v.v. Bản thân Apache là một ứng dụng ngay cả khi nó rẽ nhánh , nhưng nếu bạn có 2 Apache chạy riêng trên cùng một máy chủ với các cấu hình khác nhau, thì mỗi Apache sẽ đăng nhập vào các tệp nhật ký của riêng chúng.

Hoặc xem tính năng Apache để đăng nhập vào đường ống, nhưng điều này cũng có nhược điểm.

Điểm:0
lá cờ it

AFAIK bạn không thể có nhiều máy chủ web Apache đồng thời ghi vào cùng một tệp nhật ký.

Đối với các cụm, bạn có thể cho phép mọi nút ghi vào tệp nhật ký của chính nó và sau đó bạn thực hiện một số xử lý bài đăng để hợp nhất chúng hoặc bạn để Apache tạo các sự kiện nhật ký hệ thống, gửi chúng đến máy chủ nhật ký hệ thống trung tâm nơi bạn có thể hợp nhất chúng thành một tệp duy nhất hoặc bạn sử dụng giải pháp tổng hợp nhật ký như ELK Stack, Graylog, Splunk và/hoặc các giải pháp khác để gửi các sự kiện nhật ký từ tất cả các nút cụm đến một cơ sở dữ liệu dữ liệu lớn duy nhất

VagrantPaladin avatar
lá cờ in
Tôi mong đợi đây là câu trả lời. Vì vậy, tôi đã thử nghiệm nó với 4 phiên bản apache chạy trong 4 vùng chứa và tất cả đều ghi vào cùng một nhật ký. Tôi đã bắt đầu thử nghiệm "tải" với một loạt các quy trình yêu cầu một trang và để nó chạy trong một giờ, và nó hoạt động tốt. Tôi hoàn toàn mong đợi chỉ một phiên bản có thể ghi vào nhật ký, vì vậy tôi không biết phải làm gì từ nó.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.