MySQL 5.6.10 以下に存在する レプリケーションのバグと原因特定について (Heartbeats 社内勉強会 2014/12/11)
MySQL 5.6.10 以下に存在する レプリケーションのバグと原因特定について (Heartbeats 社内勉強会 2014/12/11)
なんとなく気分で始めたMySQLプロトコル入門ですが今回は少し趣向をかえてbinlog formatについて書いてみたいと思います。 MySQLでのレプリケーションのメッセージ単位として使われているbinlogですが、そもそもbinlog(バイナリーログ)とはどういったものなのでしょうか?実際問題よくわからなくてもちょちょっと設定すれば素敵に動いてくれるのでわからなくても大丈夫っちゃー、大丈夫なんですがせっかく興味が湧いてしまった事ですし調べていきましょう。 http://dev.mysql.com/doc/internals/en/replication-protocol.html より引用してみます。 Replication uses binlogs to ship changes done on the master to the slave and can be written t
そういえば、3回目の参加となるISUCONの第4回目の予選を通過してました。 結果は185チーム中、19位というなんと微妙な結果で本戦にいける事に。 事前準備 今年も@cadsと@fruweでお馴染みのメンバーで「Mr. Frank & Co: A New Hope」として登録。 前日までこんな感じの打ち合わせや予習を実地。 選択言語はruby 効率化・自動化の為にansible playbookを用意 ssh keys dotfiles rubyの複数バージョン 各種ミドルウェア sidekiq等のバックグラウンドワーカーやキャッシュ周りの仮組み redisの復習 去年やったエントリを読む 当日の流れの確認 コミュニケーションツールとして最近仕事で活躍してるSlackを導入 役割としては他の二人がコード実装に集中できるように、私がインフラ周り、コードレビュー、ファシリテーターを務める。
こんにちは、ISUCON4 運営チームの @mirakui です。 @rosylilly @sora_h とともに ISUCON4 の問題作成と運営を担当しています。 さて、予選に参加していただけたみなさんは楽しんでいただけたでしょうか。今回は、予選問題の振り返りをしたいと思います。 予選問題「いすこん銀行」今回の予選問題は、「いすこん銀行」という架空の銀行の Web サービスがテーマでした。 銀行とはいっても、実は銀行としての機能は一切ないハリボテで、今回用意したのは ログイン機能 のみです。ログインって機能なの? と思うかもしれませんが、実際のウェブサービスを作る上で、ログイン部分の設計は単純では済みません。 それは、近年増加している「パスワードリスト攻撃」のような、不正ログインの対策を行わなければならないからです。 「いすこん銀行」には、ログイン画面と、ログインに成功した時に表示され
AMIが公開されたのでもう一度やってみた。 AMIについてはこちらのエントリに書かれています ISUCON4 予選問題の解説と講評 & AMIの公開 : ISUCON公式Blog まず ami-e3577fe2 を m3.xlargeで起動します。 CPUは model name : Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz でした。 とりあえず、MySQLのindexを追加する。init.shに追加 $ cat init.sh cat <<'EOF' | mysql -h ${myhost} -P ${myport} -u ${myuser} ${mydb} alter table login_log add index ip (ip), add index user_id (user_id); EOF ベンチマークツールのhttp keepal
アクセスランキングを作ってみよう! 今、Rails4 を使ってアクセスログからランキング作ってみたいなぁーと思ってたんですが、みんなどうやってんだろうって聞いてみたところ、 Fluentd ってのを組み込むだけで簡単に集計とかできるよーって話だったので、使ってみました。 Fluentd とは まず読み方は、 「ふるーえんとでぃー」であって、「ふるーえんど」とかじゃないっぽいです。d はたぶんデーモンの d 。 色々説明面倒なんで省略しますが、ログ収集元とか出力先が簡単に設定できて、自分の欲しい形でログ保持できますよーって感じっぽい。なので、 「シェルスクリプトで処理した tail の処理結果をファイルに」「nginx から出力されたアクセスログを mongoDB に」とかそういう処理を自前で書く必要なく、簡単な設定だけでいけちゃう。 詳しくは → 柔軟なログ収集を可能にする「fluentd
MySQL 5.7.5の新機能。 ログ貼ってたら長くなったので、バッファプールサイズを小さくするのは別エントリーへ。 理屈的には、 - バッファプールを大きくするとき * innodb_buffer_pool_chunk_size ごとに新しいページを確保しながらゴニョゴニョやる * この処理中は *バッファプールへの全てのアクセスがブロックされるよ* - バッファプールを小さくするとき * innodb_buffer_pool_chunk_size ごとにページを追い出しながらゴニョゴニョやる らしい。 http://dev.mysql.com/doc/refman/5.7/en/innodb-buffer-pool-online-resize.html しかしバッファプール大きくする時の動作はInnoDBのトラフィック全滅ですか使えNEEEE とか、「オンラインでバッファプールサイズを
目次 ◎レプリケーションとは ◎レプリケーションの用途およびメリット・デメリット ◎レプリケーションの設定方法 ◎レプリケーションの運用 ◎レプリケーションとは レプリケーションとは、あるMySQLサーバで更新されたデータを別のMySQLサーバに複製する機能。 MySQLではマスタからスレーブヘの複製は非同期に行われるのが標準である*1。 ここで、レプリケーションの種類と仕組みについて整理する。 片方向レプリケーション 双方向レプリケーション 非同期レプリケーション ・マスタ→スレーブという片方向でのレプリケーション。 ・I/Oスレッドによる「スレーブでのバイナリログの受信」とSQLスレッドによる「スレーブでのバイナリログの実行」という2段階のステップが非同期に行われるレプリケーション。 ・マスタを2個以上持たせて、それぞれのマスタを更新できるようにした構成。MySQL Clusterが双
サイバーエージェント公式ブログをご覧の皆さんこんばんは、インフラ&コアテク本部の須藤(@strsk)です。普段はAmebaのソーシャルゲーム全般のインフラを見つつ、日本語ラップの啓蒙をしながら弊社社員を素材にコラ画像をつくったりしています。好きなAAは麻呂です。 はい、というわけで今回はMySQLインデックスチューニングの基本的な流れについてまとめてみました。 ソーシャルゲームは更新も参照もめちゃくちゃ多いです。数秒のレプリケーション遅延も致命的なので適切なテーブル、クエリとインデックス設計が重要です。(何でもそうですけど)インデックスが多くなると更新コストなどが懸念されますが、インデックスが正しく使われていないクエリを放置している方が悪です。そんなこんなで、割と例も偏ったりしてるかもしれませんがあしからず。 前提としてはInnoDBを想定しています。MyISAMはほとんど使っていません。
(最終更新日: 2017/9/25) はじめに production 環境で MySQL 5.6 動かすためのパラメータ設計についてまとめました。この記事がカバーする内容は次のとおりです。 パラメータを設定するスクリプト。 各パラメータにおける変更するかどうかの判断基準。 想定されるメモリの消費サイズを算出してパラメータが妥当かどうか確認する方法。 サービスの状況に応じててきぎ読みかえてください。 【結論】パラメータグループ作成・パラメータ設定のスクリプト 結論として、パラメータグループを作成し、パラメータを設定する aws-cli のスクリプトを置きます。Amazon AWS の Web Console から設定することもできます。 #!/bin/sh # == パラメータグループ作成 aws rds create-db-parameter-group --db-parameter-gr
インフラストラクチャー部の成田(@mirakui)です。 Rails の OR マッパーである ActiveRecord ですが、みなさんどのように運用していますか? ActiveRecord を使うと、 SQL を直接扱うことなく、抽象化された表現で RDB にアクセスできるので、アプリケーションの開発効率という観点ではメリットが大きいです。 一方で、 ActiveRecord が駆使されているアプリケーションをサーバに配置してプロダクションとして運用する立場からすると、いくつかの問題に突き当たります。 まずはクックパッド本体アプリケーションにおける、最新の rake stats をご覧ください。 +----------------------+-------+-------+---------+---------+-----+-------+ | Name | Lines | LOC
昨日のエントリで紹介した「Webアプリケーションの パフォーマンス向上のコツ 実践編」ですが、いくつかスライドを追加して、「完全版」として公開しました。 ISUCONだけに限らず、一般的なWebアプリケーション、SQLのチューニングの参考となる資料となっていると思いますので、見て頂けたら嬉しいです。 <追記> ISUCON4 オンライン予選の参加登録が開始されています!!!Webアプリケーションを書いている方もインフラを扱っているエンジニアも運用エンジニアも、ぜひチャレンジしてください!!私もでます!! 参加はこちらから↓↓↓↓ ISUCON4 オンライン予選の参加登録を開始しました \n\n\nISUCONだけに限らず、一般的なWebアプリケーション、SQLのチューニングの参考となる資料となっていると思いますので、見て頂けたら嬉しいです。\n\n## <追記>\n\nISUCON4 オン
This document discusses MySQL performance tuning and various MySQL products and features. It provides information on MySQL 5.6 including improved scalability, new InnoDB features for NoSQL access, and an improved optimizer. It also discusses MySQL Enterprise Monitor for performance monitoring, and the Performance Schema for instrumentation and monitoring internal operations.Read less
久しぶりにMySQLガチュアルカジュアルに参加してきたので、そんなログと資料をまとめておこうと思います。 zusaar.com - zusaar リソースおよび情報 尚、このイベントの過去の参加記録は以下。 「MySQL Casual Talks vol.1」に参加してきたよ、のメモ 「MySQL Casual Talks vol.2」に参加してきたよ、のメモ 「MySQL Casual Talks vol.3」に参加してきたよ、のメモ 「MySQL Casual Talks Vol.4」のエア参加レポート vol.4がエア参加で、vol.5・・・っていつやったの。。。な感じで久しぶりに参加させていただきました。 TokuDB試してみる (@yoku0825) TokuDB試してみる from yoku0825 TokuDB、InnoDBの3倍くらい圧縮が効くとのことで、レイテンシ
7. 通常のWebサーバとの通信 <html> <body> <form action=“register” method=“POST”> 氏名:vultest<BR> メールアドレス:vultest@example.jp<BR> 性別:男<BR> (以下略) </html> POST /confirm.php HTTP/1.1 Host: example.jp (以下略) Cookie: PHPSESSID=xxxxxxxxxx name=vultest&mail=vultest%40example.jp&gender=1 HTTP Response HTTP Request 8. 色々いじってみてどういう応答があるか確認 POST /confirm.php HTTP/1.1 Host: example.jp (以下略) Cookie: PHPSESSID=xxxxxxxxxx name
2ヶ月前にインフルエンザとウィルス性胃腸炎でひどくダメージを受けた増田(@masudaK)です。アメーバピグは2009年2月に始まったサービスで、FLASH・Javaで作られています。そして、データストアにMySQLを用いてます。本記事では、わたくしが2年ほど見続けているアメーバピグのDB環境について構成や、日々どのようにして問題と向き合っているかを紹介したいと思います。インフラ寄りの内容が多いため、アプリ寄りの話は弊社生沼の資料を御覧ください。 1. 構成と規模 1.1. 構成 まず構成ですが、読み書きはすべてマスターへ行うようにしています。そのため、スレーブには参照を向けず、ホットスタンバイとして使っています。バージョンに関しては2012年中旬までは5.0を使ってましたが、DC移転にあわせて5.5にあげました。ロック機能を用いたシャード構成をしてまして、2014年3月現在6シャードにな
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く