2015-04-21 26 views
5

Tôi sẽ lưu trữ một ứng dụng webrtc. Tất cả các máy chủ cần làm là chỉ cần vượt qua xung quanh các tin nhắn như số phòng, ứng cử viên băng, ngắt kết nối, vv, chỉ là tất cả những tin nhắn cho tín hiệu. Tôi đang sử dụng socket.io và node.js.Ứng dụng webRTC yêu cầu dung lượng bộ nhớ RAM bao nhiêu?

Máy chủ khá nhiều chỉ cần chuyển văn bản. Không có đăng ký, không có cơ sở dữ liệu, tất cả đều nằm trong bộ nhớ. Nó theo dõi danh sách người dùng trực tuyến (chỉ có bao nhiêu người đang trực tuyến) và danh sách các phòng được thực hiện. Vì vậy, một vài danh sách các số và nó sẽ chuyển văn bản giữa những người dùng để họ có thể kết nối qua webrtc. Bây giờ, rõ ràng khi (nếu) tôi nhận được một lượng lớn lưu lượng truy cập, danh sách có thể trở nên lớn, như có thể 10k-20k 5 chữ số trong mỗi danh sách (chỉ có một vài danh sách lớn).

Và mọi thứ xung quanh, như ngắt kết nối và kết nối. Tôi cần một máy chủ có thể làm công cụ này nhanh chóng, tốt hơn là một máy chủ miễn phí. Ý tôi là, nó chỉ là văn bản, nên nó không phải là một thỏa thuận lớn, đúng không? Nhưng ứng dụng của tôi được cấu trúc xung quanh việc kết nối một người với người tiếp theo kết nối. Vì vậy, nếu một bó toàn bộ người kết nối vào khoảng cùng một giây, sau đó tôi cần một máy chủ lưu trữ nhanh chóng có thể xử lý mà đến mili giây ... Điều này thậm chí sẽ là một vấn đề?

Chính xác những gì tôi nên tìm kiếm trong máy chủ, nếu tôi chỉ sử dụng bộ nhớ cho danh sách số (không có cơ sở dữ liệu) và truyền xung quanh nội dung văn bản.

+0

Bạn có thể muốn sử dụng giải pháp đám mây để bạn có thể nâng cao nếu cần. Nói chung tôi sẽ không lo lắng. Điều này không thực sự giống như một vấn đề với tôi. – Robert

Trả lời

0

Trước hết, điều này không có liên quan gì với chính bản thân số webrtc. Những gì bạn về cơ bản muốn là một chat-server, một máy chủ gửi dữ liệu từ một số client cho người khác.
Thứ hai, loại server không liên quan đến số tiền RAM bắt buộc để chạy. Điều quan trọng là số tiền clients bạn sẽ có đồng thời. (ở một mức độ nào đó, game servers rõ ràng sẽ tiêu thụ nhiều hơn RAM thậm chí không có clients).
Thứ ba, nhiều hơn RAM KHÔNG có nghĩa là xử lý nhanh hơn. Đó là, nếu bạn không sử dụng đầy đủ các RAM có sẵn, thêm nhiều hơn sẽ không làm bạn bất kỳ tốt. Rõ ràng, khi bạn vượt quá số RAM, mọi thứ bắt đầu chậm lại rất nhiều. Read more about it here

Bây giờ, với những người đó, hãy xem những gì bạn cần. Bạn có thể thực hiện ước tính sơ bộ bằng cách kết nối một vài số clients đến một số server và xem số tiền sử dụng là RAM. Kiểm tra xem số tiền RAM có tăng lên không nếu các số clients bắt đầu gọi cho nhau và số tiền tăng lên bao nhiêu. Bây giờ bạn có số tiền tối thiểu và số tiền tối đa là RAM cho x clients. Tôi sẽ làm thử nghiệm này với khoảng 10 clients.

Bây giờ bạn có thể ước tính, hãy tính số tiền tối thiểu và tối đa RAM là dành cho cơ sở người dùng dự kiến ​​của bạn. Nó sẽ trở thành ngày càng nhiều ưu đãi từ đây trở đi, nhưng tôi sẽ tăng gấp đôi số tiền đó và sau đó làm tròn số tiền gần nhất là RAM mà "có ý nghĩa" (14.7GB trở thành 16GB, 28.32GB trở thành 32GB, v.v. .)

Tôi sẽ thêm, từ kinh nghiệm của riêng mình với webrtc với khoảng 1000-1500 người dùng đồng thời 8GB dễ dàng đủ. Nhưng nó thực sự tùy thuộc vào số lượng người dùng mà bạn mong đợi.

Trên một nút bên, tôi rất khuyên bạn nên nodejs cho máy chủ.Đó là siêu dễ sử dụng, bất kỳ lập trình viên nào biết được javascript (vì vậy về cơ bản mọi lập trình viên) đều có thể tạo chat-server trong nodejs sau một hoặc hai ngày. Hãy xem this open-source webrtc server in nodejs

+0

Tôi đã viết một máy chủ trong node.js, nhưng tôi chỉ tò mò về cách triển khai nó trên web. – Hellothere

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