2012-02-10 36 views
7

Có bất kỳ phần mềm hoặc cách nào để dự đoán nhu cầu tài nguyên hệ thống bằng cách lấy một số đầu vào như truy vấn đọc/ghi MySQL, truy vấn được thực thi trong một giây, các thuộc tính của bảng và cơ sở dữ liệu.Làm thế nào để dự đoán nhu cầu tài nguyên hệ thống?

Có. Tôi biết có lẽ không có giải pháp hoàn hảo nào mà phần mềm có thể cung cấp cho tôi nhưng tôi không tìm kiếm giải pháp hoàn hảo.

+0

Bạn có bất kỳ ý tưởng nào về quy mô của ứng dụng và loại truy vấn mà bạn sẽ chạy trên đó không? – Mike

+2

không biết về dự đoán, nhưng bạn có thể mô phỏng tải máy chủ bằng các công cụ như jMeter và bạn có thể sử dụng các tính năng lược tả của các trình gỡ rối PHP như XDebug để xây dựng một bức tranh về thời gian thực thi PHP (mặc dù trong trải nghiệm bản thân hồ sơ có thể thêm một số tiền hợp lý của phí trên vào tập lệnh đang hoạt động, do đó, trong khi mã của nó tối ưu hóa tính hữu ích của nó như một tiện ích dự đoán hiệu suất có thể bị giới hạn). – GordonM

Trả lời

0

Một vài công cụ có thể hữu ích: AWS Cloudwatch, nhưng chỉ hoạt động với EC2. Thiết lập một báo động, nói cho CPU sử dụng, do đó, thời điểm bạn vượt quá, nói 75%, một email báo động hoặc sms sẽ được gửi đến bạn, vì vậy bạn có thể nhìn xung quanh cho phù hợp.

AWS Elsatic Load Balancer, sẽ giúp bạn phân phối thêm lưu lượng truy cập, giải phóng bản sao không lành mạnh và định tuyến lưu lượng truy cập đến máy chủ khỏe mạnh hơn.

Một số công cụ giám sát như ... thiếu tên ... nhưng nếu bạn có thể chăm sóc mọi thứ theo cách tự giám sát, khi chúng tôi sử dụng bảng điều khiển như webmin, bạn có thể lấy chi tiết về cách sử dụng CPU, Sử dụng RAM, lưu trữ, vv ...

Và cuối cùng, chỉ là một khái niệm, nhưng sẽ mất rất nhiều để hoàn thành, và tôi sẽ làm theo những gì vừa được nêu ở trên, tạo ra một mô hình toán học có thể hoạt động trên cron, 5 phút quan sát có thể được ghi lại, và hành động được thực hiện khi cần thiết.

0

Tôi sẽ tạo mô hình toán học để tính toán dự báo tài nguyên hệ thống. Tôi sẽ tính toán ước tính mật độ xác suất thực nghiệm dựa trên số liệu thống kê Bayes. Chính thức hơn bạn muốn tính toán cái gì đó như:

E [Memory | CPU = 0,9, QuerySpeed ​​= 0,6, ...]

Bạn có thể cập nhật phân phối dựa trên các sự kiện tín hiệu mới sử dụng định lý Bayes:

P (A | B) = P (B | A) P (A)/P (B)

Điều này sẽ thích nghi với bằng chứng thực nghiệm mới.

+0

Cảm ơn nhưng tôi không thể hiểu được. Bạn có thể đơn giản hóa nó không? –

0

Tùy chọn khác đang sử dụng nền tảng có thể mở rộng như Dịch vụ web của Amazon. Bạn có thể bắt đầu với một trường hợp vi mô và cấu hình cân bằng tải để kích hoạt nhiều trường hợp hơn khi cần thiết.

Khi bạn xác định các yêu cầu tài nguyên trung bình, bạn có thể thay đổi kích thước hình ảnh của mình thành lớn hơn hoặc nhỏ hơn tùy theo nhu cầu của bạn.

http://aws.amazon.com http://tuts.pinehead.tv/2011/06/26/creating-an-amazon-ec2-instance-with-linux-lamp-stack/

0

mysqltuner là một kịch bản perl dựa ..

tôi khuyên bạn nên thử một này ...

tải mysqltuner từ đây

http://mysqltuner.pl/mysqltuner.pl 

ứng dụng dòng lệnh của nó và cung cấp cho bạn chi tiết những tài nguyên bạn cần cho ứng dụng hiện tại của mình ...

Các vấn đề liên quan