tcp_の変更tw_reuseカーネルパラメータにより、同じWIFI接続下で一部の携帯電話がゲームにログインできない

1649 ワード

現在、2番目のゲームは内部テストの段階にあり、間もなくオンラインになります.今日、広州の代理店は、彼らの会社の内部でWIFI接続ゲームを使用して、一部の携帯電話はアクセスすることができて、一部はゲームにアクセスすることができなくて、ずっとカードが死んでいる状態が現れています.社内ではゲームにアクセスできます.最初は彼らにあげたかばんが間違っているのではないかと疑っていました.そして、彼らの社内のネット問題です.最終的な結果がサーバカーネルパラメータ調整の問題であるとは思わなかった.具体的な除外プロセスは次のとおりです.
  • 社内運営者とエージェント側にクライアントパケットの正確性を再確認させ、クライアントパケットにはゲームサーバのrouterアドレスが含まれている.
  • 代理店に社内ネットワークをチェックさせます.ブラウザでrouterアドレスにアクセスし、戻り値があるかどうかを確認します.
  • 代理店側に社内のWIFI設定状態をチェックさせ、携帯ブラウザでrouterアドレスにアクセスし、確かに戻り値があるかどうかを確認させる.
  • 代理店に連絡して、メンテナンススタッフと一緒に診断します.彼らの会社の内部ネットワークの問題を排除した後、ゲームサーバーのnet.を見ることをお勧めします.ipv4.tcp_tw_reuseとnet.ipv4.tcp_tw_recycleの2つのパラメータの設定状況.

  • サーバは、私が引き継ぐ前にサードパーティによって初期構成されていたためです.カーネルパラメータの調整についてもよく見ていません.
    この2つのパラメータの設定を確認しました.
    net.ipv4.tcp_tw_recycle = 0
    net.ipv4.tcp_tw_reuse = 1

    彼らはnet.ipv4.tcp_tw_reuseは1に設定されています.
    net.ipv4.tcp_tw_reuseの値を1にするとTCP TIME-WAIT sockets再利用がオンになり、TIME-WAIT socketsを新しいTCP接続に再利用できるようになります
    net.ipv4.tcp_tw_recycleが1に設定されている場合はTIME-WiATのクイックリサイクルを開始します
    この2つのパラメータが特に知られていない場合は、この2つのパラメータを勝手に変更しないでください.この2つのパラメータを0に設定すると、エージェント側がゲームにログインできます.
    net.ipv4.tcp_tw_recycle = 0
    net.ipv4.tcp_tw_reuse = 0

    この2つのパラメータを変更するには、同時に設定する必要があります.
    net.ipv4.tcp_timestamps = 0
    Linuxカーネルパラメータの調整は複雑なことであり、下位のプロトコルの動作原理をよく理解しなければ、より実際に合理的な調整が必要になりません.
    参考記事
    http://coolshell.cn/articles/11564.html
    http://blog.csdn.net/wireless_tech/article/details/6405755
    https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt
    http://blog.csdn.net/gzh0222/article/details/8000508
    転載先:https://blog.51cto.com/john88wang/1422705