2012-08-01 40 views
5

Tôi tự đặt ra một thách thức trong ngày hôm nay để viết một cuộc trò chuyện jQuery trong chưa đầy nửa giờ. Cuối cùng tôi mất 40 phút.jquery Trò chuyện với PHP mySQL

Tuy nhiên, tôi muốn cải thiện nó để tải trên máy chủ và trình duyệt không phải là khủng khiếp.

Hiện tại người dùng nhập vào hộp văn bản, nhấn enter, dữ liệu này được gửi đến tệp .php cập nhật bảng mySQL và xuất tất cả các hàng trên bảng.

Có khoảng thời gian được đặt trên div cứ hai giây một lần để cập nhật nếu có ai nói bất cứ điều gì mà không cần người dùng nhấn enter.

Tôi chỉ muốn biết suy nghĩ về cách thực hiện điều này một cách tốt hơn hoặc cách hiệu quả nhất. Tôi muốn hiểu công nghệ tốt nhất để sử dụng và tại sao.

Cảm ơn tất cả các thông tin của bạn, tôi yêu tràn ngăn xếp, nó vô giá đối với tôi.

+4

Go và đọc lên trên Node.js và SignalR. – mdm

+0

Bạn có thể sử dụng [Ajax] (http://api.jquery.com/jQuery.ajax/) – Aust

+0

Đó là những gì tôi đang làm với .load() – Chud37

Trả lời

1

Sử dụng tính năng bỏ phiếu ajax cho ứng dụng trò chuyện với ngăn xếp công nghệ "php back"/"javascript front" chắc chắn sẽ dẫn đến tải máy chủ nặng. Http không chỉ được thiết kế cho loại giao tiếp đó, và nếu bạn đang sử dụng apache (như tôi giả định) có một chi phí thực sự rất lớn cho mỗi yêu cầu.

Như một số cam kết được chỉ ra, bạn có thể điều tra bằng cách sử dụng khung javascript đầy đủ ngăn xếp (tức là Node.js trên chương trình phụ trợ).

Khi tôi có nhiệm vụ tăng tốc ứng dụng trò chuyện hiện có với php backend và lối vào Javascript (sử dụng bình chọn ajax định kỳ), tôi đã sử dụng sản phẩm bên thứ ba để xử lý yêu cầu XMPP nhẹ. Sản phẩm phía máy chủ này là OpenFire, nhưng bạn có thể sử dụng eJabberd để có hiệu suất tốt hơn - OpenFire dễ thiết lập và bảo trì hơn. Kết quả là thỏa đáng hơn, tải máy chủ giảm đáng kể, và tin nhắn được gửi ngay lập tức cho ~ 1000 người dùng trực tuyến đang trò chuyện một cách hoang dại (trên một hộp Linux chuyên dụng ít hơn mức trung bình).

Thật khó để giải thích tất cả các chi tiết nhỏ trong phạm vi của câu trả lời SO, nhưng may mắn là Ben Werdmuller @ IBM đã đi ra ngoài để viết một số awesome tutorial về chủ đề này.

+1

Như một lưu ý: XMPP thực sự là những gì facebook sử dụng để làm trò chuyện của họ, vì vậy có lẽ đó là một dấu hiệu của khả năng mở rộng của nó – Sammaye

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