ブックマーク / labs.gree.jp (29)

  • CTO15年やってみた (その1かも) | GREE Engineering

    とても久しぶりのエントリになります、グリー株式会社でCTOをやっておりますふじもとです。Pixel Budsを買ったはいいものの、イヤフォンの位置なおすたびにジェスチャ認識されて通知読み上げられることに悩んでいます。たぶん耳にちゃんとフィットしてないのが原因です。 気がつけば、今年でCTOというタイトルでお仕事をしてはや15年が経ち16年目に突入しておりまして、よい機会なので今どんなことを思うか、何が変わったか、などなど勢いで書いてみようと思った次第です...というそれっぽい理由はほんの少しで、ほんとのところそんな立派な理由でもなく、来たる 2020/09/18 (fri) に GREE Tech Conference 2020 (online) が開催されるので、その宣伝をしたいなーと思ったのです。ということで...! GREE Tech Conference 2020 2020/09/

    CTO15年やってみた (その1かも) | GREE Engineering
    wtatsuru
    wtatsuru 2020/09/08
  • innodb_thread_concurrencyに関する話 | GREE Engineering

    こんにちわ。せじまです。今回の話は軽く書こうと思っていたのですが、長くなりました。まぁInnoDBの話なのでしょうがないですね。 はじめ 今回はinnodb_thread_concurrencyについてお話しようと思います。できれば、事前にInnoDB の mutex の話(入門編)を読んでいただいた方が、より深く理解していただけるのではないかと思います。 長いので、最初に五行でまとめます 現代において、ほとんどのケースでは、innodb_thread_concurrencyはデフォルトの0のままで問題ないと思います。なぜなら、最近のInnoDBはかなり良くなってきたからです。 それでもinnodb_thread_concurrencyをチューニングするとしたら、「高負荷状態になったときでもスレッド間の公平性をなるべく担保し、安定稼働させるため」と割り切って使うのが良いでしょう。 inno

    innodb_thread_concurrencyに関する話 | GREE Engineering
    wtatsuru
    wtatsuru 2018/07/04
  • MySQLのmetricに関する話 | GREE Engineering

    こんにちわ。せじまです。さいきん、ジム用に左右独立型スポーツモデルのBluetoothイヤホン買ったのですが、あまりの快適さに、ジムに通うモチベーションが5割増しになりました。 はじめに innodb_thread_concurrency について書こうかと思ったんですが、まずはその前に MySQL の metric の話から入ったほうが良いかなぁと思ったので、今回は metric の話を書こうと思います。はじめにお断りしておきますが長くなります。 弊社では7年以上前から、 MySQLのサーバ一台あたり(OS側のも含めると)200-300 以上の metric を だいたい15秒間隔で記録しています。最近はSSDなども使ってますが、むかしはHDDにmetricを保存していました。例えばMySQLのサーバ一台分のmetric表示した画面をキャプチャすると、次のような感じになります。 ※画像は

    MySQLのmetricに関する話 | GREE Engineering
    wtatsuru
    wtatsuru 2018/06/26
  • ソーシャルゲーム サーバーアーキテクチャ選定 | GREE Engineering

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

    ソーシャルゲーム サーバーアーキテクチャ選定 | GREE Engineering
    wtatsuru
    wtatsuru 2018/05/29
  • DC内通信のHTTP/2化を検討する | GREE Engineering

    こんにちは、インフラストラクチャ部の後藤です。 懲りずにHTTP/2の記事です。 HTTP/2を実サービスに投入するのには様々な障壁があり、議論が足りてない部分だと感じています。 サイトのHTTPS化 TLS ALPN, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 サポート モニタリング・監視 Dependency Based PriorityとRUM コネクションの生存時間が長く、運用上のDNSを用いたサーバ切り替えと相性が悪い(GOAWAY出せるものもあるが) ELBを使用している場合はTCPで利用する必要がある そもそもL7ネットワーク機器が対応していないという場合もあるかとおもいます。 そこで、今回は比較的容易なDC内のHTTP通信をHTTP/2化することを考えます。 DC内HTTP通信のHTTP/2化 DC内でサーバ間のHTTP/2通信であれば、h

    DC内通信のHTTP/2化を検討する | GREE Engineering
    wtatsuru
    wtatsuru 2016/01/19
  • ネットワークの可視化 | GREE Engineering

    GREE Advent Calendar 2015 の23日目担当の上竹です。普段はアプライアンスLB やネットワークの構築/運用をしております。 概要 バックボーンネットワークを設計運用していると、実際どのようなトラフィックがどのくらい流れているか中身を知りたい(見たい)ことがよくあります。 どのISP からどの回線へどのくらい流入があるのかだったり、どんなAS からどのくらいアクセスがきているか、これら様々な情報を正しく把握することは、Transit 回線やIX 回線をコントロールし今後のネットワーク戦略を考えるうえで非常に有益です。 また、昨今我々を悩ましているDDoS 対策の第一歩として、今流れているトラフィックをまず"知る"ということが必要だと思います。 そこで、今回ネットワークの見える化を、「NetFlow」、「Fluentd + ElasticSearch + Kibana」

    ネットワークの可視化 | GREE Engineering
    wtatsuru
    wtatsuru 2015/12/23
  • 泥臭いサーバ運用自動化の話 | GREE Engineering

    こんにちは、North America事業部のLiang Fanです。このエントリーは GREE Advent Calendar 2015  10日目の記事です。 日は、以前所属していたインフラストラクチャ部のサーバ運用と自動化の話を少しご紹介したいと思います。 よろしくお願い致します。 はじめに 運用自動化と聞いて、みなさんは頭の中に何を浮かべますか?仮想化技術(docker、VM)、構成管理ツール(chef、puppet)やクラウドサービス(AWSGoogle Cloud Platform)などの答えがたくさん出てくるかもしれません。日はそれらの技術を使って、かっこいい運用自動化ができたという話ではなく、レガシー環境のサーバ運用を少しでも楽にするための泥臭い自動化の話を紹介したいと思います。 グリーのレガシー環境 レガシー環境と言っても、もう歩けない80歳のおじいさんではなく、

    泥臭いサーバ運用自動化の話 | GREE Engineering
    wtatsuru
    wtatsuru 2015/12/10
  • DynamoDBを使ったKPI保存システム | GREE Engineering

    こんにちは!データエンジニアリングチームの長谷川と田畠です。 グリーのデータ分析基盤を良くする仕事をしています。 これはGREE Advent Calendar 2015の6日目の記事です。昨日のRobinさんの記事はVR開発に取り組んだことがあるからこそ書ける記事で、みなさんにとっても新鮮だったのではないでしょうか? 今日はゲームから少し離れて、KPIダッシュボードのバックエンドをオンプレミスからAWSに移行した話をしたいと思います。最後までお付き合いよろしくお願いします。 はじめに KPI分析を定常的に行うことは、プロダクトの改善のために非常に重要であり、グリーにおいても多くのプロダクトがKPIを閲覧/分析するためのシステムを利用しています。 社内の分析環境では、KPIのデータは時系列データベースに保存されており、内製のグラフ描画ツールにアクセスすることでグラフとして閲覧することができ

    DynamoDBを使ったKPI保存システム | GREE Engineering
    wtatsuru
    wtatsuru 2015/12/07
  • CPUに関する話 | GREE Engineering

    こんにちわ。せじまです。スティック型PCの購入は、 Core M版が出るまで見送ろうと思っている今日このごろです。 弊社では「Mini Tech Talk」という社内勉強会を隔週で開催しているのですが、それとは別に、「Infra Tech Talk」という社内勉強会を、半年くらい前から毎月開催しています。わたしはそこでほぼ毎月、45-60分くらいのスライドを作って話をしています。今までどういう話をしてきたかといいますと、TCPに関する話を二回、SSDに関する話を二回しました。(InnoDBに関する話だと軽く5-6時間くらいできるんですが、いささかマニアックなので、もっと幅広い人を対象に話をしています) 今までの話はちょっと社内向けの内容だったんですが、前回開催された Infra Tech Talk では、社外の方にも幅広く読んでいただける話ができたと思いましたので、その資料を slides

    CPUに関する話 | GREE Engineering
    wtatsuru
    wtatsuru 2015/10/07
  • オーケストレーション入門 - 多種多様化するサービスをConsulで連携させる | GREE Engineering

    こんにちは、インフラストラクチャ部のあだち(@foostan)です。 このエントリは GREE Advent Calendar 2014 19日目の記事です。昨日はにしだ(@hosi_mo)さんによるネイティブゲームクライアントの幸せな設計図でした。 今年のグリーアドベントカレンダーのテーマは「GREEを支える技術」ですが、私からは「GREEを支えるかもしれない技術」としてConsulについてご紹介します。 エントリの対象者 エントリでは、簡単なWebシステムを例にとって、Consulやその周辺ツールの基的な使い方やオーケストレーションする仕組みについて説明していきます。 なので Consulって何? Consulって便利そうだけどどうやって使うの? Consul触ってみたけど、使いどころ分からないんだけど? オーケストレーションって? と思われた方にとって良い情報源になることを期

    オーケストレーション入門 - 多種多様化するサービスをConsulで連携させる | GREE Engineering
    wtatsuru
    wtatsuru 2014/12/29
  • Varnishでテストコードを書こう!~実践編~+Bodyを読もう! | GREE Engineering

    こんにちは、Service Reliabilityチームのいわなちゃんさん(@xcir)です。 先日、社内で行われたチューニングハッカソンではチームマイナス5500万としてVarnishをいれる簡単なお仕事をしてきました。 このエントリは GREE Advent Calendar 2014 17日目の記事です。 以前とある勉強会で 「varnishtestの使い方がよくわからない」 「別のツールを使ってテストをやっている」 という話を聞きました。 varnishはvarnishtestというテストツールがありますが、あまり利用されていないようです。 原因はいくつかあると思いますが、まずは実際のテストコード(VTC)を見てみましょう。 以下は公式のrollback機能のVTCです。 varnishtest "Test Rollback" server s1 { rxreq expect re

    Varnishでテストコードを書こう!~実践編~+Bodyを読もう! | GREE Engineering
    wtatsuru
    wtatsuru 2014/12/17
  • OpenStack Swiftによる画像ストレージの運用 | GREE Engineering

    こんにちは。インフラストラクチャ部の竹辺です。このエントリはGREE Advent Calendar 2014 4日目の記事です。 GREESNSでは、ユーザのみなさまが投稿した画像を保存するためのストレージを運用しています。2年ほど前から、この画像のストレージにOpenStack Swift(以下Swift)を使い始めました。その後、既存のストレージからのデータ移行やユーザのみなさまからの投稿などにより、現在では9億ファイルを超える画像が格納されています。 日最大のメッセージングサービスでは一日の130億件のメッセージがやりとりされているという時代に9億などというとププッと笑われてしまうかもしれませんが、Swiftに大量の画像ファイルを格納するにはいくつかの性能上の問題を解決する必要があり、9億ファイルを格納するのもそれほど簡単ではありませんでした。この記事では、弊社の画像ストレー

    OpenStack Swiftによる画像ストレージの運用 | GREE Engineering
    wtatsuru
    wtatsuru 2014/12/04
    9億
  • サービスを支えるプライベートクラウド基盤 OpenStack の舞台裏 | GREE Engineering

    こんにちは!インフラストラクチャ部の松橋です。このエントリは GREE Advent Calendar 2014 3日目の記事です。日より 2日間 OpenStack の記事がつづきます。 私からは、グリーのサービスを支えるプライベートクラウド基盤として OpenStack を導入し、運用、改善を続けてきた日々の奮闘についてご紹介させていただきます。振り返ればちょうど 2年前のクリスマスシーズンに腰を入れて仕掛かり、今では運用も安定してきたので良い節目でもあります。読者のみなさまの一助となる知見が少しでも提供できれば幸いです。 はじめに パブリッククラウドの台頭により、オンプレミスを基盤にサービスを展開してきたグリーにおいてもクラウドが有用な選択肢となるなかで、運用ノウハウが蓄積されたオンプレミスの資産を活用してインフラストラクチャを最適化するニーズもまた高まりました。 サーバー仮想

    サービスを支えるプライベートクラウド基盤 OpenStack の舞台裏 | GREE Engineering
    wtatsuru
    wtatsuru 2014/12/04
  • よくわかるLinux帯域制限 | GREE Engineering

    矢口です。 みなさんはLinuxのtcという機能をご存知でしょうか。送信するパケットの帯域制御を行うことができる大変強力な機能で、グリーでもいくつかの用途で使用されています。 具体的な事例の一つはRedisです。Redisではreplicationを新規に開始する際やfailoverが発生しmasterが切り替わった際(特に2.6系)にストアされている全データが転送されます。しかし帯域制限をかける機能がないため、ネットワーク帯域を圧迫してしまう危険性があります。また通常のクライアントとの通信でも大量のクエリにより予想以上の帯域を使用してしまう可能性があります。このような場合にtcを用いることでRedisの使用する帯域をコントロールできます。 このように有用なtcですが残念なことに日語/英語ともにわかりやすい解説や詳細な情報は多くありません。 私も社内において使われていたtcの設定に問題が

    よくわかるLinux帯域制限 | GREE Engineering
    wtatsuru
    wtatsuru 2014/10/08
  • Server Sent Events(SSE)の使いどころと使い方 | GREE Engineering

    Flameの箱を捨ててしまったためどうやって送り返すか困っています。@kyo_agoです。 今日は2014年6月にβ公開したGREEチャットで通信に使用しているSSEを紹介したいと思います。 SSEとは SSEとはServer-Sent Eventsの略でW3Cで提案されているhtml5関連APIの一種です。 これはサーバとの通信やJavaScript APIを中心としたもので、サーバからPush通信を行うための仕様です。 サーバからPush通信に関してはこれまでもCometやWebSocketが存在しましたが、SSEは互換性や効率などの点でそれ以外の技術に対する特徴があります。 ここからは具体的な仕様や、実際に使用した場合の感想などを紹介したいと思います。 通信方式 SSEはHTTP/1.1を使用し、Content-Type: text/event-streamで通信を行います。 基

    Server Sent Events(SSE)の使いどころと使い方 | GREE Engineering
    wtatsuru
    wtatsuru 2014/08/13
  • インフラ開発合宿を6月20(金)・21(土)に開催しました | GREE Engineering

    こんにちは、開発企画室の佐島です。 少し時間が経ってしまいましたが、6月半ばに開催したインフラ開発合宿についてご紹介したいと思います。 インフラ開発合宿とは 一泊二日、いつもとは違う環境に身を置き「仮想化、自動化」をテーマに何か開発しようという試みです。 テーマと言いつつもゆるい感じで、実際は開発したい or 試してみたいものを自由にやる場になりました。 GREEのインフラを支えているエンジニアは、新しいインフラを開発する部隊と、稼働中のインフラを安定運用するための部隊にざっくり分けることができるのですが、今回の開発合宿は開発部隊を中心に企画しました。 事前準備 何を開発するか決める 参加者には事前に開発するものを公開してもらいました。 自分がやりたいものより面白そうなものがあればチーム開発もあり、という狙いでしたが、結果的にはみんな自分のが一番ということで全員ソロとなりました。 以下、い

    インフラ開発合宿を6月20(金)・21(土)に開催しました | GREE Engineering
    wtatsuru
    wtatsuru 2014/07/13
    楽しそう
  • 天下一InfluxDB勉強会開催してきました | GREE Engineering

    こんにちは。ちょびえです。先日6/27(金)にDeNAさん会場にて天下一InfluxDB勉強会を開催してきました。当日はあいにくの悪天候ながら参加いただき有難うございました。また、会場を快く提供していただきましたDeNAさんに感謝申し上げます。 天下一InfluxDB勉強会 イベントページ きっかけはanatooのtweetにより始まりました 天下一influxdb勉強会の開催が待たれる — anatoo (@anatoo) May 29, 2014 もともとanatooとはPHPつながりで闇PHP勉強会など企画して頂いて参加させていただいていたのですが、今回は二人共InfluxDBに興味があるよね!ってことでInfluxDBの勉強会を企画・開催してきました。 記事では天下一InfluxDB勉強会のレポートまとめ、という事で資料+動画を簡単にまとめておこうかと思います。@sonotsさん

    天下一InfluxDB勉強会開催してきました | GREE Engineering
    wtatsuru
    wtatsuru 2014/06/30
  • 柔軟な IT インフラとそれを支える技術 | GREE Engineering

    こんにちは、インフラストラクチャ部の大山裕泰です。最近話題の WhiteBox スイッチと、そのミドルウェアについてお話したいと思います。 柔軟な IT インフラを目指して 我々に限らず IT インフラに携わるエンジニアにとって、アプリケーションレイヤの人たちが望むアプリケーション実行環境の構築・運用は主要な目標の一つかと思います。 アプリケーション実行環境の形態は様々ですが、突き詰めてゆくと物理的なネットワーク機器に Ethernet ケーブルで接続された物理サーバの集合になります。やや管理的な話になりますが、こうした物理機器は減価償却してゆくので、これが終了するあるいはサポートが切れるまでの 4~5 年の期間、同じ機器を使い続けることになりますので、機器の選定においては長い目で見る必要があります。 これに対して、アプリケーションやアプリケーションを取り巻く環境は日々目まぐるしい速度で

    柔軟な IT インフラとそれを支える技術 | GREE Engineering
    wtatsuru
    wtatsuru 2014/06/28
  • GREEのUserAgent比率を公開します(2014/06) | GREE Engineering

    人をダメにするソファとゴロ寝deスクを買ってしまったago(@kyo_ago)です。 これから定期的にGREEを利用して頂いているクライアントのUA比率を公開していきたいと思います。 OS Android iOS グラフは以下のデータを元に作成しています。 { "os":{ "Android":66.4, "iOS":33.5 }, "version":{ "Android":[ { "percent":35.8, "name":"4.2" }, { "percent":22.3, "name":"4.0" }, { "percent":21, "name":"4.1" }, { "percent":14.7, "name":"2.3" }, { "percent":4.2, "name":"4.3" }, { "percent":2, "name":"other" } ], "iOS":

    GREEのUserAgent比率を公開します(2014/06) | GREE Engineering
    wtatsuru
    wtatsuru 2014/06/11
    Android2.3 iOS6.1 まだけっこういる
  • HTTP2を試してみる | GREE Engineering

    初めまして、インフラストラクチャ部の後藤です。普段はChefを用いたサーバの自動構築環境の開発に従事しております。 今回は、近頃若者の間でも話題になっているHTTP2についてお話したいと思います。 2012年の末頃、HTTP1.1のセマンティクスを維持したままパフォーマンスを改善するという目的でHTTP2の仕様策定が開始されました。そんなHTTP2もワーキンググループ・ラストコールに向けて大詰めを迎えています。 現在最新版はdraft12となっており、すでに幾つかの実装が存在しています。HTTP2のwikiで確認できます。例えば、Google ChromeのCanaryビルドやFirefox Nightlyビルド では既にHTTP2が使用可能です。 またサービスとしては、twitter.com が対応しています。 HTTP2の特徴 HTTP2はGoogleの考案したSPDYと言うプロトコ

    HTTP2を試してみる | GREE Engineering
    wtatsuru
    wtatsuru 2014/06/09