タグ

開発とmysqlに関するjun_yaのブックマーク (19)

  • ソーシャルゲーム サーバーアーキテクチャ選定 | GREE Engineering

    ※Read / Write のレスポンスタイムは大まかに計測した値のため適切な設定ができていない場合もあることをご了承ください MySQL 信頼と実績のあるRDBMS。新規タイトルの場合AWSではAuroraGCPではCloud SQLを利用することで運用の手間をある程度減らすことができる。分散システムではないため1クラスタでの書込性能には限界があり、ソーシャルゲームのように大規模なwrite処理がある用途では水平/垂直分割が必要になり、そのための設計とコーディングが煩雑になりがちである。またインスタンスのスケールアップ・ダウンで対応しきれない場合のクラスタの分割・統合のオペレーションは複雑なものになる。 スケールアップ・ダウンやnodeのメンテナンスなどでMaster nodeを切替える際には不通時間が発生してしまうため、安全のためゲーム自体をメンテナンス状態にする必要が発生する。 ※

    ソーシャルゲーム サーバーアーキテクチャ選定 | GREE Engineering
  • MySQLのクエリの良し悪しはrows_examinedで判断する - かみぽわーる

    仕事やらなんやらでMySQLのクエリの良し悪しを判断する必要があるとき、EXPLAINの内容だけだとどのぐらい良くなったり悪くなったのか分からないので SET long_query_time = 0; してrows_examined (そのクエリでrows_sent行の結果を返すために何行に触ったのか)も一緒に提示するようにしている(少なくともMySQL 5.7時点ではrows_examinedはslow_query_logでしか確認できないはずperformance_schemaが有効ならevents_statements_historyやその仲間たちで確認できるとのこと*1 MySQL :: MySQL 5.6 リファレンスマニュアル :: 22.9.6 パフォーマンススキーマステートメントイベントテーブル)。 例: 上の例のBeforeは、もともとDBAが書いた温かみのあるSQLでO

    MySQLのクエリの良し悪しはrows_examinedで判断する - かみぽわーる
  • MySQLレプリケーションあれやこれや

    2018/01/26 第2回 オープンソースデータベース比較セミナー https://osscons-database.connpass.com/event/74688/Read less

    MySQLレプリケーションあれやこれや
  • 片手間MySQLチューニング戦略

    2017/10/08 phpcon 2017 https://joind.in/event/japan-php-conference-2017/session05-mysqlRead less

    片手間MySQLチューニング戦略
  • あるSPソーシャルゲームのチューニングメモ - Qiita

    WEBサーバが通常40台でGvGバトル時は60台に増やすというスケール設定になっている。 CPUもメモリも使用率高くないのにサーバ台数増やさないとレスポンスが悪くなる。 WEBサーバ:CPU10%ぐらい、メモリ10%ぐらい DBサーバ:CPU10~20%ぐらい、メモリ20%ぐらい これ以上サーバを増やしたくないし、できれば減らしたい。 調査で使うもの New Relic https://newrelic.com/ これをWEBサーバのどれか1台にインストールしておきます。 最初の30日は有料版の機能も使えるのでその期間で一気にボトルネックを探りました。 URLごとにどんなメソッドやSQLが何回実行されているかなど見れるのでチューニングが捗ります。 無料で使える機能だけでも割と使えます。 アラート閾値(初期値)が少し高めなのでチューニング中は低く設定しましょう。 そうしないと重い箇所を特定で

    あるSPソーシャルゲームのチューニングメモ - Qiita
  • Amazon RDS for MySQL と全文検索 | DevelopersIO

    こんにちは、藤です。 先日開催された Developers.IO 2017 で「Amazon Elasticsearch Service の使いドコロ」というタイトルで登壇しました。 Developers.IO 2017セッション「Amazon Elasticsearch Service の使いドコロ」で話しました #cmdevio2017 資料を作成する中で MySQL 5.7 から追加された全文検索の日語対応に関して調べました。せっかくなのでまとめた内容をブログに書き出すとともに、RDS だとどこまでできるのかということを追加調査してみました。 MySQL 5.7 の日語全文検索に関しては公式ドキュメントや、Oracle の方のスライドに詳しく説明されていますので、詳しく知りたい方は下記をご参照ください。 12.9 Full-Text Search Functions MySQL

    Amazon RDS for MySQL と全文検索 | DevelopersIO
  • MySQL 5.7 と絵文字(ちょこっと Rails) - TMD45'β'LOG!!!

    絵文字UTF-8 の 4 byte 文字にあたる)を利用可能とするため、文字コードは utf8mb4 を利用する。 絵文字だけでなく非常用漢字なども対応するためには必要。 サーバ設定 とりあえず開発環境(Mac)は Homebrew でインストール brew install mysql (検証時点で 5.7.13)。 サーバの設定を以下のとおり変更する。 $ diff /etc/my.cnf.org /etc/my.cnf --- /etc/my.cnf.org 2016-07-05 18:46:02.000000000 +0900 +++ /etc/my.cnf 2016-07-15 14:43:47.000000000 +0900 @@ -16,7 +16,7 @@ # The following options will be passed to all MySQL clients

    MySQL 5.7 と絵文字(ちょこっと Rails) - TMD45'β'LOG!!!
  • ソシャゲエンジニアの自分がコードレビュー時に重視する箇所33選 【随時追加】 - Qiita

    コードレビューで土日に安寧を ソーシャルゲームは、ユーザアクセス集中と、それに伴うユーザデータ増加によって劇的に負荷が上がり、(主に土日に)サービスに影響を与えがちです。 問題があるコードは、たとえ負荷テストを行っても、作成したシナリオによっては見つけられない可能性もあります。 そういった見えない不安を払拭するという意味でも、コードレビューは重要だと思っています。 【ステキポイント】 ・ ソースを見ることにより、時限爆弾が土日に爆発するのを解除 ・ スキル共有によってメンバーがレベルアップすることにより、土日に爆発する時限爆弾の設置確率低下 まぁまとめると これに尽きます(4歳の息子談) 今は、gitのプルリクエストという強力なレビューツールもあり、敷居がかなり低くなったのでオススメです! チェックするポイントは5つ コードレビューを行うにあたり、*「どんなところをチェックすればいいのか分

    ソシャゲエンジニアの自分がコードレビュー時に重視する箇所33選 【随時追加】 - Qiita
  • 現場指向のレプリケーション詳説

    この文書は、技術評論社刊『WEB+DB PRESS Vol.22』に執筆した記事を技術評論社の 許可を得てWWWで公開しているものです。 このWWW版は校正前の原稿を元にしている点、WWW公開後に必要があれば修正する点で、雑誌版の文章とは異なる部分があります。また、図表も雑誌版とは異なります。 予めご了承ください。 また、この文章が対象しているのはMySQL 4.0系なので、最新のリリース版と比べると説明不足な点などが多々あると思います。 レプリケーションの基をおさえるには、この文書はまだ有益だと思いますが、設定レベルの説明は最新のドキュメントを参照するようにしてください。

  • 日付型のフォーマットにスラッシュを使ってはいけません(文字コードによって値が変わる) - [MySQL MariaDB/SQL] ぺんたん info

    MySQLで日付型(date型)のフォーマットは『2014/07/26』のようなスラッシュではなく、『2014-07-26』のようにハイフンを使います。 スラッシュでも場合によっては動作しますが、 UTF8で指定されたテーブルをSJISなど別の言語で日付抽出するときなどに値が変わります。 場合によっては正しい値が出てしまうのが怖いところです。 [参考記事] 文字コードを指定する方法 [参考記事] PHPMySQLの文字コードを指定する方法 [参考記事] MySQLでdatetime型(日時)を日付で抽出するSQLの速度比較 次のサンプルはUTF-8にセットされたテーブルでの例です。 『2014-01-01』以降の日付抽出で217件のレコードが抽出されます。 mysql> SELECT count(*) FROM `sample_table` WHERE `sample_time` >=

    jun_ya
    jun_ya 2014/10/29
    これにハマってすげー悩んでた。MySQLってこえええええ
  • 『MySQL初心者に贈るインデックスチューニングのポイントまとめ2014』

    サイバーエージェント公式ブログをご覧の皆さんこんばんは、インフラ&コアテク部の須藤(@strsk)です。普段はAmebaのソーシャルゲーム全般のインフラを見つつ、日語ラップの啓蒙をしながら弊社社員を素材にコラ画像をつくったりしています。好きなAAは麻呂です。 はい、というわけで今回はMySQLインデックスチューニングの基的な流れについてまとめてみました。 ソーシャルゲームは更新も参照もめちゃくちゃ多いです。数秒のレプリケーション遅延も致命的なので適切なテーブル、クエリとインデックス設計が重要です。(何でもそうですけど)インデックスが多くなると更新コストなどが懸念されますが、インデックスが正しく使われていないクエリを放置している方が悪です。そんなこんなで、割と例も偏ったりしてるかもしれませんがあしからず。 前提としてはInnoDBを想定しています。MyISAMはほとんど使っていません。

    『MySQL初心者に贈るインデックスチューニングのポイントまとめ2014』
  • (帰ってきた)InnoDBパフォーマンス最適化の基礎 | Yakst

    MySQL Performance Blogの翻訳。Perconaのサポートエンジニアである筆者が、InnoDBのパフォーマンスチューニングの基礎について、ハードウェアやOSの選定からパラメータの推奨値まで解説する。 最近、2007年にPeter Zaitevが書いた「InnoDBパフォーマンス最適化の基礎」という記事を見つけた。これは素晴らしい記事で、読んでいると、MySQLとPercona Serversそして今日利用可能な全ての基盤技術に関して、6年近くの間に何が変わってきたのかを見直してみたいと思わせるものだ。 当にたくさんのことが変わったものだ!この記事では、InnoDBの使用に効果的なパラメータの多くに、特にパフォーマンスの観点から焦点を当てる。私はサポートエンジニアで、Percona SupportではInnoDBパラメータの適切なサイズに関する質問がたくさん寄せられている

    (帰ってきた)InnoDBパフォーマンス最適化の基礎 | Yakst
  • ソーシャルゲームのためのMySQL入門 | BLOG - DeNA Engineering

    こんにちはこんにちは。最近お腹痛いばっかり言ってることで有名なiwanagaです。 DeNAは外部的にはプラットフォーム的な部分の方がフィーチャーされることが多いですが、実はソーシャルゲームの提供も行っています。怪盗ロワイヤルとか、どこかで聞いたことがあるのではないでしょうか。 僕はDeNAでソーシャルゲームが誕生した辺りからずっとサーバサイドを見てきましたが、そんな運用の中で自分が貯めてきた知見とかTIPSをご紹介したいと思います。 かれこれ10タイトル近くはレビューしたり運用したりしてるため結構言いたいことはいっぱいあるので、小出しにしつつ評判よければ次も書きます。 ソーシャルゲームのためのMySQL入門一覧 ソーシャルゲームのためのMySQL入門 - Technology of DeNA ソーシャルゲームのためのMySQL入門2 - Technology of DeNA 「MySQL

    ソーシャルゲームのためのMySQL入門 | BLOG - DeNA Engineering
  • PHPでデータベースに接続するときのまとめ - Qiita

    【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。PDO に関しては大きく変わっていない部分が多いとは思いますが, PHP 8.x 以降での動作保証はありません。 あらかじめ読んでおきたい記事 Qiita - 【PHP超入門】クラス~例外処理~PDOの基礎 by @7968 初心者がやりがちなミス 以下のどれかに1つでも当てはまるコードは見直す必要があります.付録にリンクを貼っておきましたので,「該当するかも?」という人はクリックして飛んで読んでください.太字にしてあるものは脆弱性に直結する危険度の高いものです. mysql_query などの非推奨関数を利用している SET NAMES あるいは SET CHARACTER SET などで文字コードを指定している そもそもデータベース

    PHPでデータベースに接続するときのまとめ - Qiita
  • Kenichi Kato: homebrewのmysqlについて

    2013/02/21 homebrewのmysqlについて わけあってVirtualboxが使えなくなってしまったのでhomebrewでmacに直接環境作っていろいろごまかしています。 homebrewはホントに便利でMySQLも"brew install mysql"ではいって"mysql.server start"で動いてしまうのだけど、やっぱり自分でdatadirとかつくってmy.cnfとかも環境ごとに切り替えたりしたいので、環境を確認してみました。 普通にbrew installして "mysql.server start" したときのdefaultのディレクトリは以下です。 /usr/local/var/mysql ├── ib_logfile0 ├── ib_logfile1 ├── ibdata1 ├── kenichikat-l01.local.err ├─

  • MHA for MySQL の概要 - Gosuke Miyashita

    MHA for MySQL の導入を検討していて、まずは社内の技術者向けに、MHA for MySQL の概要を伝えようと、主に オフィシャルなドキュメント からポイントを抜粋して社内向けの Wiki に書いてみた。当なら、オフィシャルドキュメント全体に目を通してもらうのがいいんだけど、英語なので、はじめの一歩としては敷居が高く感じる人もいるだろう、ということで。 特に外に出してまずい情報があるわけでもないので、このブログでも曝しておきます。 MHA の概要 MySQL エキスパートとして世界的にも著名な松信嘉範氏による、MySQL マスターの HA 化を行うためのツール。Perl 製。 最小限のダウンタイムで、データの不整合を防ぎつつ、マスターのフェイルオーバーを行う、というのが主な機能。 また、既に動作している MySQL に影響を与えることなく導入できる。 機能は大きくわけると以下

  • ke-tai.org > Blog Archive > オープンソースカンファレンス2012北海道の発表で使用したスライド資料を公開しました

    オープンソースカンファレンス2012北海道の発表で使用したスライド資料を公開しました Tweet 2012/6/18 月曜日 matsui Posted in 記事紹介・リンク | 2 Comments » 先日の2012年6月16日(土)に、札幌市で「オープンソースカンファレンス 2012 Hokkaido」が開催され、私もセミナー講師として参加させていただきました。 ご参加いただいた皆様、関係スタッフの皆様、ありがとうございます。そしてお疲れ様でした。 スライド資料は下記ページから見ることができますので、是非ご覧ください。 → インフィニットループ技術ブログ OSC 2012 Hokkaidoの発表で使用したスライド資料「大規模ソーシャルゲームを支える技術PHP+MySQLを使った高負荷対策~」 [infiniteloop.co.jp] 関連: 2012年6月16日(土)のオープンソ

    jun_ya
    jun_ya 2012/06/18
    一つの例として参考になりました
  • Twitter版MySQL、オープンソースとして公開

    4月9日(米国時間)、TwitterMySQL 5.5に独自の機能強化を行った「Twitter MySQL 5.5」をオープンソースとして公開した。Twitterでは、タイムラインやユーザデータ、インタレストグラフ、ツイートなどをMySQLで管理しており、Twitter MySQLはオープンソースのソフトウェアであるMySQLに対して、Twitterの開発者がニーズに合わせて独自の改良を行ったものだとしている。 Twitter MySQL 5.5で強化や改良された機能は次のとおり。 InnoDB内部のステータス変数の追加 NUMAアーキテクチャのメモリ割り当ての最適化 サーバサイドのステートメントタイムアウトサポートの改善 InnoDBバッファプールのエクスポート及びリストア SSD向けの最適化 InnoDB内部のステータス変数の追加では、InnoDBファイル及びテーブルスペースファイル

  • MySQLレプリケーションを安全に利用するための10のテクニック

    MySQLのレプリケーションは非常に簡単に使える割には応用の幅が広いので非常に人気のある機能の一つである。レプリケーションの応用分野は例えば、 バックアップ 参照系の負荷分散 HA(高可用性) ディザスタリカバリ(サイト間レプリケーション) BI(レポーティングetc) という風にとても多くのバリエーションがある。このブログを読んで頂いている皆さんの中にもレプリケーションを使っている方は多いのではないだろうか。ご覧の通りMySQLのレプリケーション機能はミッションクリティカル分野でも利用されているが、レプリケーションの使い方が適切でないとシステムの安定稼働に支障を来してしまってDBAやシステム管理者の肉体的、精神的負担が増大してしまう。逆にレプリケーションを堅牢に運用することが出来ればマクラを高くして眠れるというものだ。レプリケーションはMySQLの代表的な機能であるので、レプリケーション

    MySQLレプリケーションを安全に利用するための10のテクニック
    jun_ya
    jun_ya 2012/03/21
  • 1