3

私のプロジェクトは、Jquery、PHP、およびMysqlを使用したHTTPチャットです。

Jquery infactは、N秒ごとにデータベースをポーリングして、新しいメッセージを受信したかどうかを確認します(mysqlテーブルからのポーリング)。

チャットの接続数が100を超えるようになったため、mysqlはN秒以内に100のリクエストを取得するようになりました。

ベストプラクティス、それを最適化するためのデータベースの選択は何ですか?(一部のサーバーソケットを使用せずにHTTPチャットのままにする必要があります)

よろしく

PS。たぶんMYSQLは良い選択ではありません

4

3 に答える 3

3

MySQLはデータベースとしては問題ありませんが、MySQLのポーリング使用はベストプラクティスではありません。
RDBMSは、そのジョブには不適切なツールです。

メッセージキューソリューションを見てください。ここにいくつかのリソースがあります:

于 2012-12-13T00:46:49.433 に答える
2

MySqlは非常に軽量なので、Idを使用します。PHPとMySqlはうまくやっています。多くの更新とデータベースへの多くの読み取りがあるため、InnoDBエンジンはこのシナリオに最適です。MyIsamを選択すると、一度に1つのジョブ(更新または読み取り)に適しているため、問題が発生する可能性があります。

于 2012-12-13T00:17:02.567 に答える
1

インメモリデータベースを調べます。チャットは通常、人々が固執するものではありません。したがって、一時データベースは単なるチケットである可能性があります。たとえば、SQLiteはそれを行うことができます

しかし、私はあなたのWebサーバーについてもっと心配していると思います。:)

ソケットを使用しない特別な理由はありますか?このシナリオは、それらが作成された目的です。(おそらく柔軟性のないホスティングサービス?)

于 2012-12-13T00:16:25.327 に答える