私たちはMySQLデータベースでFreeradiusを使用しており、ユーザーを認証しています。 MySQLデータベースが遅い問題になりましたが、最大スレッド数に達すると遅くなりました。この問題は、スレッドが利用可能なスレッドがないため、サーバーが要求に応答できなかった場合、クライアントへのアクセス拒否の応答を送信しました。
私たちのデバイスは、クライアント接続をキャッシュし、それらがまだ許可されているか削除する必要があるかどうかを確認するためにサーバーと定期的にチェックします。装置は、サーバーからの応答がない場合、クライアントが接続されていると接続されています。この問題は、RADIUSサーバがその最大スレッドにあるとき、そのデフォルトの回答はアクセス拒否(パケットキャプチャを介して検証済み)を送信することですが、デフォルトの動作を変更してリクエストを無視するだけです(クライアントが接続されています)。 。
今のところMySQLデータベースの問題を修正しましたが、クライアントのAltoGeatherを無視するだけで、既定のデフォルトをaccess-Rejectから変更します。私は研究をしましたが、質問に対する答えを見つけることができません。
前もって感謝します。
MySQLサーバーが十分に速く答えていることを確認し、サーバーのロード、メモリ使用量、ディスクアクセス(上、フリー、VMSTAT、IOSTAT)を確認してください。
あなたのユーザーテーブルには何行がありますか?どのタイプのストレージ(Myisam、InnoDB)?
未使用の接続を閉じるようにMySQL Serverを調整できます。
# /etc/my.cnf
...
# close unused connections after timeout
set-variable = wait_timeout=300
# keep 50 threads in cache
set-variable = thread_cache_size=50
_