2011-08-18 3 views
6

私はリアルタイムアプリケーション(チャット、MMORPGなど)で初心者ですが、phpやajaxでうまくいきます。 私はphpとajax(Interval 1000ms)を使用してチャットをプログラムしました。その後、私のサイトはサーバーに大きな圧力をかけて非常に重くなってしまいました!!リアルタイムとPHP?

サーバの負荷を軽減するための情報が必要です。事前に

おかげ

+3

https://github.com/kakserpom/phpdaemonは、より適切な言語を考えます。 –

+0

私はDagonに同意します - リアルタイムアプリケーションはPHPを実行する単一のサーバを本当に罰するでしょう。私はノードを使うためにリアルタイムのPHPアプリケーションを書き直しました。jsの代わりに、それはまったくドラマなしで1000分のヒットを得る。 –

+0

既存のインフラストラクチャに満足すれば、リアルタイムインフラストラクチャの一部を[ホストされたリアルタイムサービス](http://www.leggetter.co.uk/real-time-technologies-guide)に委託することが考えられます#hosted-services)を使用します。 – leggetter

答えて

1

ルックlong-polling ajax

のは一度だけの分をあなたはまた、AJAXを見てすることができます

+0

これはサーバーにも負荷をかけます。 faceboockチャットは非常に速いですか?私はそれを作成する方法を知っていない! – Lokers

+3

@Lokers:Facebookは60,000台のサーバーを持っています...はいFacebookのチャットは非常に高速です – genesis

+0

サイトはホストのみを使用していて高速です – Lokers

0

(要求は60 /分が、1 /分ではありません)を要求しますリアルタイムのデータストリーミングを行うためにエンジンをプッシュします(彼らはそれが本当にうまくスケールすると主張します)。 http://www.ape-project.org/

+0

ありがとう、私はそれをテストします。 – Lokers

1

チャットをソケットベースのWebアプリケーションに変換できます。私はAJAXを使用するかソケットを使用するかのパフォーマンスの違いについてはわかりませんが、ソケットを使用するとこれはもっと論理的に聞こえます。 :)

+0

ありがとうございました サイトや投稿が私にソケットについての情報を教えてくれますか? – Lokers

+0

http://devzone.zend.com/article/1086またはhttp://www.devshed.com/c/a/PHP/Socket-Programming-With-PHP/ また、「ソケット」 chat php '.. :) – Abbas

1

結果をキャッシュすることができます。 memcached(key => value)キャッシュを設定すると、データベースの負荷を軽減できます。

新しいリクエストが来ると、アプリケーションはmemcacheにキャッシュ内の値があるかどうか尋ねます。それ以外の場合は、データベースエンジンに値を問い合わせ、値をユーザーに返し、次回のためにキャッシュします。

1

興味深いPHPライブラリWebSocketを超えるリアルタイム、クライアントとサーバ間の双方向アプリケーションを作成しないためのツールを開発者に提供:PubNubよりもさらにhttp://socketo.me/

1

私が知る限り、チャットやリアルタイムゲームのようなノンブロッキングとリアルタイムのアプリケーションを構築するために利用できるライブラリがいくつかあります。

  1. reactphp、nodejsのような純粋なPHPで実装されていますが、開発はあまりアクティブではないようです。

  2. Skyray、C http://github.com/SkyrayLabs/Skyrayで書かPHPのためのネットワーキング・ライブラリ

    これは私が作成したPHPのためのネットワーキング・ライブラリである、それはアクティブ、現像中です。

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

  4. phpdaemonは、
関連する問題