2011-08-18 53 views
6

Tôi là người mới bắt đầu trong các ứng dụng thời gian thực (ví dụ: Trò chuyện, MMORPG), nhưng tôi giỏi về php và ajax. Tôi đã lập trình một cuộc trò chuyện bằng cách sử dụng php và ajax (Interval 1000ms) .. Sau đó, trang web của tôi đã trở nên rất nặng nề với lý do áp lực lớn trên máy chủ !!Thời gian thực và php?

Tôi muốn biết thông tin về việc giảm áp lực trên máy chủ.

cảm ơn trước

+3

xem xét một ngôn ngữ thích hợp hơn. –

+0

Tôi đồng ý với Dagon - một ứng dụng thời gian thực sẽ thực sự trừng phạt một máy chủ duy nhất chạy PHP. Tôi viết lại một ứng dụng PHP thời gian thực để sử dụng nút.js thay vào đó, và nó nhận được 1000 lượt truy cập một phút mà không có bất kỳ bộ phim truyền hình nào. –

+0

Nếu bạn hài lòng với cơ sở hạ tầng hiện có của mình, bạn có thể xem xét gia công phần cơ sở hạ tầng thời gian thực cho [dịch vụ thời gian thực được lưu trữ] (http://www.leggetter.co.uk/real-time-technologies-guide # được lưu trữ-dịch vụ). – leggetter

Trả lời

1

Hãy tìm long-polling ajax

Nó yêu cầu chỉ một lần một phút (yêu cầu không phải là 60 lần/phút nhưng 1/phút)

+0

Điều này cũng gây áp lực lên máy chủ. Trò chuyện faceboock rất nhanh? Tôi không biết làm thế nào để tạo ra điều đó !! – Lokers

+3

@ Người hút thuốc: Facebook có 60 000 máy chủ ... Có trò chuyện facebook rất nhanh – genesis

+0

Có các trang web chỉ sử dụng máy chủ và nhanh chóng – Lokers

0

Bạn cũng có thể có một cái nhìn tại ajax động cơ đẩy để thực hiện truyền dữ liệu theo thời gian thực (chúng cho rằng nó hoạt động tốt). http://www.ape-project.org/

+0

Cảm ơn, tôi sẽ kiểm tra điều đó. – Lokers

1

Bạn có thể thử chuyển đổi trò chuyện thành ứng dụng web dựa trên socket. Tôi không biết về sự khác biệt trong hiệu suất giữa việc sử dụng AJAX hoặc sử dụng ổ cắm nhưng các ổ cắm của tôi sử dụng cho điều này nghe có vẻ logic hơn với tôi. :)

+0

Cảm ơn Bạn có biết trang web hoặc bài đăng cung cấp cho tôi thông tin về ổ cắm không ?? – Lokers

+0

http://devzone.zend.com/article/1086 hoặc http://www.devshed.com/c/a/PHP/Socket-Programming-With-PHP/ Bạn cũng có thể sử dụng Google cho một thứ như 'socket trò chuyện php '.. :) – Abbas

1

Bạn có thể muốn lưu vào bộ nhớ cache kết quả. Việc thiết lập bộ nhớ cache memcached (key => value) có thể giảm tải cơ sở dữ liệu.

Khi có yêu cầu mới, ứng dụng của bạn sẽ yêu cầu memcache nếu giá trị tìm kiếm nằm trong bộ nhớ cache. Nếu không, hãy hỏi công cụ cơ sở dữ liệu của bạn để biết giá trị, trả về giá trị cho người dùng và lưu nó vào lần sau.

1

Thú PHP thư viện cung cấp các nhà phát triển với các công cụ để tạo ra thời gian thực, các ứng dụng hai chiều giữa khách hàng và máy chủ trên WebSockets: http://socketo.me/

1

Theo như tôi biết, có một số thư viện có sẵn để xây dựng các ứng dụng không bị chặn và thời gian thực như trò chuyện và trò chơi thời gian thực.

  1. reactphp, được thực hiện bằng PHP thuần, giống như nútjs, nhưng phát triển có vẻ không hoạt động gần đây.

  2. Skyray, thư viện mạng cho PHP viết bằng C http://github.com/SkyrayLabs/Skyray

    Đây là một thư viện mạng cho PHP tạo ra bởi tôi, nó vẫn còn đang phát triển tích cực.

  3. swoole, https://github.com/swoole/swoole-src

  4. phpdaemon, https://github.com/kakserpom/phpdaemon
Các vấn đề liên quan