タグ

MySQLとIPVSに関するclavierのブックマーク (2)

  • MySQLの参照ロードバランスで最近困った2つのこと

    こんにちは、インフラの担当をしております平野です。 当社では意味の分からないカードゲームが流行っているようですが、 私は「ダム」に行くともらえる「ダムカード」集めにはまっております。 大きなダムを上から覗いたときに感じる怖さからのお尻のむずむず感がたまりません。 先日、新しいサービス・アーキテクチャのインフラ構築をする際にしくじったことがあったので 記事にしたいと思いました。 1) ipvs環境化でのコネクションプーリングでMySQLがmax_connectionsに到達問題 MySQLレプリケーション機能を利用し、参照のみを利用するクエリ向けにスレーブ機を複数台並べ、 ロードバランスさせる構成を取っていました。 ロードバランサはipvs(lvs)、アプリはコネクションプール機能の利用を前提としていました。 ある程度稼働させたところ、 ・負荷が大してかかってない ・サーバ上のMySQLのコ

  • LinuxのLVS(IPVS)でMySQLをロードバランスするときはtimeoutに注意 - (ひ)メモ

    構成 [appサーバ] -> [lvs] -> [MySQL]群 DRでMySQLのスレーブ群にロードバランス appサーバはDBコネクションのプーリング、永続化をしている 問題の現象 DBサーバ上ではmysqldへのコネクションが存在するのに、appサーバ上ではコネクションが存在しない。(netstat調べ) →無用なコネクションが残留するせいで、MySQLのmax_connectionsに達してしまう。 原因 MySQLの世界の無通信時のコネクションのタイムアウトはデフォルトで 28800秒 (8時間)。一方、IPVSの世界の無通信時のタイムアウトはESTABLISHEDなコネクションで900秒 (15分)。 # ipvsadm -Ln --timeout Timeout (tcp tcpfin udp): 900 120 300なので、DBコネクションの永続化等でコネクションを張りっ

    LinuxのLVS(IPVS)でMySQLをロードバランスするときはtimeoutに注意 - (ひ)メモ
  • 1