Tại sao Couchbase sử dụng nhiều CPU như vậy? [đóng cửa]


11

Tôi đã cài đặt Couchbase gần đây trên máy chủ của mình, nhưng nó sử dụng rất nhiều CPU và thực hiện rất nhiều IO đĩa. Như bạn có thể thấy từ những hình ảnh bên dưới, rất rõ ràng khi tôi cài đặt Couchbase, vì việc sử dụng CPU đã tăng vọt!

Sử dụng CPU hơn 30 ngày Sử dụng CPU hơn 30 ngày

Sử dụng CPU trong 24 giờ qua Sử dụng CPU trong 24 giờ qua

Sử dụng đĩa trên 30 ngày Sử dụng đĩa trên 30 ngày

Sử dụng đĩa trong 24 giờ qua Sử dụng đĩa trong 24 giờ qua

Như bạn có thể thấy từ việc sử dụng CPU, tôi đã chuyển Couchbase trong khoảng thời gian từ 14:00 đến 15:00 (và mức sử dụng CPU giảm xuống 0%). Sau đó, tôi bật lại và kết nối một ứng dụng web Scala với nó (tại thời điểm đó, mức sử dụng đã tăng lên 110%). Ứng dụng này không có người dùng và hoàn toàn không làm gì cả. Nó kết nối với máy chủ Couchbase và sau đó chờ yêu cầu từ khách hàng). Lúc 17:00 tôi tắt nó đi và CPU giảm xuống 15% một lần nữa. Lúc 21:00 tôi bật lại ứng dụng và mức sử dụng CPU tăng vọt lên 110% một lần nữa.

Couchbase đang làm gì? Ứng dụng Scala sử dụng Couchbase hoàn toàn không có gì (bên dưới là biểu đồ về số lượng hoạt động mà Couchbase thực hiện mỗi giây), nhưng Couchbase vẫn thực hiện IO liên tục trên đĩa và sử dụng CPU 110%. Ngay cả khi không có ứng dụng nào được kết nối với máy chủ Couchbase, nó vẫn sử dụng CPU 15%! Làm thế nào điều này được chấp nhận cho một cơ sở dữ liệu?

Hoạt động của Couchbase mỗi giây trong 24 giờ qua Hoạt động của Couchbase mỗi giây trong 24 giờ qua


1
Từ dữ liệu của bạn không rõ ràng những gì đang xảy ra. Nếu bạn có thể cung cấp cho chúng tôi cbcollect_info thì cơ hội lớn hơn chúng ta sẽ có thể thấy một cái gì đó.
kiềm

Đồng ý với @alk Nếu nó cũng bị tắt từ 1700 đến 2100, tại sao việc sử dụng đĩa mà bạn đổ lỗi cho nó không chậm trong thời gian đó? Bạn có thể nhảy vào kết luận. Top hiển thị những gì? ..err, chỉ cần chú ý tuổi của câu hỏi này. Bạn đã tìm thấy một giải pháp? Đã trả lời?
Matthew Elvey

Câu trả lời:


0

Couchbase có một số quy trình đang chạy trong nền để kiểm tra trạng thái của cụm, lập chỉ mục tài liệu và trạng thái đĩa (để thực hiện một số dọn dẹp, nén, ..).

Đây là lý do tại sao bạn thấy một số hoạt động trong cơ sở dữ liệu của bạn.


2
Chiếm một số lượng đáng kể các chu kỳ CPU cùng với 300 IOPS chỉ dành cho "công việc nền" có vẻ hơi quá mức. Bạn có thể giải thích một chút về cách hoạt động có thể được xác định và kiểm soát (và có thể hạn chế) không? Và tại sao kết nối nhàn rỗi của khách hàng chiếm toàn bộ lõi CPU?
the-wợi

1
Đây thực sự là một vấn đề như vậy? Đồng ý rằng việc sử dụng có vẻ cao, nhưng hãy nhớ rằng Linux sẽ sử dụng nhiều tài nguyên CPU như nó cần. Việc nó sử dụng ~ 100% có lẽ chỉ có nghĩa là nó không có gì tốt hơn (đọc quan trọng hơn) để làm.
GeoSword
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.