ロングポーリングでリアルタイムチャットを作成しました。これは次のように動作します:リアルタイムチャット中のmax_user_connectionエラー
はまず、ユーザは、サーバに要求を送信します。サーバーは要求を受け取り、新しいメッセージを待ちます。
新しいメッセージが来た場合、それは(リクエストが閉じていれば、ブラウザはそれを再送信します)ユーザーのブラウザにメッセージをプッシュします。サーバーが3分以上待機した場合、要求は取り消され、新しい要求が送信されます。
サーバーでは、私はPHPを使用しました。 PHPでは、600ミリ秒ごとにメッセージ数をチェックするだけです。以前の数より大きい場合、サーバーは新しいメッセージを取得し、応答としてブラウザーに送信します。
問題は、私は、データベース内のすべてのSQLチェックの後mysqliの接続を閉じていても、私はmax_user_connection
エラーを取得するということです。
私は近いmysqliのがない場合、エラーがより頻繁に起こります。
どうすればこの問題を解決できますか? MySQLサーバへ
は?ホストは、それは危険な増加max_connectionのllimitではないのですか?それを行うのはなぜ?それの利点は何ですか? – Alex
いいえ、その危険ではなく、mysqlにはデフォルトの制限がありますが、いつでも動的に増やすことができます。この操作では何もロックされません。しかし、あまり大きくしないでください。このスレッドは、http://dba.stackexchange.com/questions/23498/what-should-i-set-max-connections-to-for-mysql – Jordon
の情報をお寄せいただきありがとうございます。これは残念なことに有用でしたが、私はそれを増やすことはできませんあまりにも多くの場合、私はajax long pollの問題点を知りたいのですが、単純なAjaxポーリングを行うと完璧に機能しますが、長いポーリングでは帯域幅がかなり大きくなります。 – Alex