ブックマーク / tech.gmo-media.jp (8)

  • プリ画像のサイト表示速度を1msでも改善しようと頑張ったお話 | GMOメディア エンジニアブログ

    概要おはようございます。最近すっかり寒くなりましたね…(´ . .̫ . `)秋のすかっとした青空が待ち遠しい。PHPエンジニアの千葉です。 今日は、サーバサイドでサイト表示速度改善を頑張ったお話です。 現在、プリ画像のサイト表示速度は画像一覧画面が約140ms、画像詳細画面は約40msです。 もともとプリ画像の表示速度はとても速かったらしいのですが、去年の夏頃には画像一覧画面で約250〜300msまで悪化していました。 そこで、2016/09〜2016/12にかけて弊社エンジニアの河野と表示速度改善に取り組みました。そのなかで効果の良かったものをまとめたエントリです。 サイト表示速度の推移下記グラフの赤い線が画像一覧画面のサイト表示速度の推移になります。 クローラーはさまざまな検索ワード・さまざまなページ番号でアクセスしにくるため、キャッシュのないページが見られることが多いです。逆にユー

  • 数十台規模のPHP 5.3プロジェクトをダウンタイムゼロでPHP 5.6化した時のまとめ | GMOメディア エンジニアブログ

    新年明けましておめでとうございます。GMOメディアの流しエンジニア、山田コーダーです。さて、ようやく弊社でもPHP 5.3、5.4系のプロジェクトの5.6化が一段落してまいりました。 PHP 5.6のリリースが2014年ですので今更感がありますが、「レガシーなPHPプロジェクトのバージョンアップに困っている」「使いたいライブラリーが5.3に対応してないからバックポートした」などという悲痛な声を目にしたこともあり、これからPHPのバージョンアップをされる方たちへのささやかな参考資料になればと思い、書かせていただきました。 さて、まずは題に入る前に結果からお見せしようと思います。以下はNew Relic(アプリケーションのパフォーマンス監視サービス)のレスポンスタイムのグラフです。なおこのプロジェクトでは、ブラウザー表示用HTMLを出力するサーバー(Web 約10台)と、スマートフォンアプリ

    数十台規模のPHP 5.3プロジェクトをダウンタイムゼロでPHP 5.6化した時のまとめ | GMOメディア エンジニアブログ
  • 16年間うごいているWebアプリケーションが抱えていた技術的負い目を考察する | GMOメディア エンジニアブログ

    技術推進室の浅井です。 技術的負い目とは、世に言う技術的負債のことです。 社内で技術的負債の定義、ことばの表現を考える中で、「『負債』は優れた比喩表現であるものの、第三者への返済義務がない点で会計上の負債とは異なり、言葉としての問題も多く、不必要な議論を生み出しやすい」などの指摘があり、代わりの表現として社内の一部で使われている言い回しです。 最近社内のたいへん古いシステム(16年の歴史があります)の技術推進を行う機会があり、たくさんの技術的負い目と向き合いました。 そのような古いシステムの技術的負い目と向き合ったとき、エンジニアはストレスを感じ、ネガティブな感情を抱いてしまいがちです。負い目に苦しめられることで過去のコードや技術的判断に対して不満を言いたくなる気持ちはとてもよくわかりますし、実際に私もたくさん苦しんでたくさん不満を言いました。 ですが技術的負債の文脈でよく言われるとおり、

    16年間うごいているWebアプリケーションが抱えていた技術的負い目を考察する | GMOメディア エンジニアブログ
    Mint0A0yama
    Mint0A0yama 2015/12/26
    エラーログレベル「NUTS」良いかもしれない
  • ディスプレイ環境が良くなるまでが結構色々あったお話 | GMOメディア エンジニアブログ

    こんにちは、宇津井です。 新入生、新入社、桜、論文、お花見と春らしい話題が一杯ですね。(写真は弊社のすぐ傍にある桜坂です) 弊社も無事決算を終えて新たな期に入りました。 そんな中でディスプレイを大きくしたい、沢山設置したいという要望が社内であがり、取りあえず27インチ(WQHD 2,560 x 1,440)*2枚のマルチディスプレイ環境整えようということになりました。 ディスプレイ選定は比較的順調に進み、DellさんのU2713HMに決定しました。 ディスプレイの選定が順調に進む中で困ったのは、弊社の場合、PCとOSの組み合わせが複数種類あるのでディスプレイとPCをどのように接続するのかで手間取いました。 WQHDでマルチディスプレイ運用を考えた場合に考慮しないといけないのはPCからの出力です。Thunderbolt、MiniDisplayPort、HDMI、DVI、Dual Link D

    Mint0A0yama
    Mint0A0yama 2015/08/18
    “27インチ(WQHD 2,560 x 1,440)*2枚のマルチディスプレイ環境”
  • Railsの計測を支えるActiveSupport::Notificationsについて | GMOメディア エンジニアブログ

    こんにちは、技術推進室の篠崎(前回より5ヶ月ぶり)です。 Ruby on Rails(以下Rails)にはイベント(SQLを実行する、テンプレートを描画するなど)に対してフック(計測)できる仕組みがあるのはご存じですか? おなじみのログもこのフックの仕組みを利用して出力されています。(1行目除く) Started GET "/samples/1.json" for 127.0.0.1 at 2014-12-10 12:35:30 +0900 Processing by SamplesController#show as JSON Parameters: {"id"=>"1"} Sample Load (0.5ms) SELECT `samples`.* FROM `samples` WHERE `samples`.`id` = 1 LIMIT 1 Sample Load (0.5ms) S

    Railsの計測を支えるActiveSupport::Notificationsについて | GMOメディア エンジニアブログ
  • MySQLがオンラインALTER TABLEでOOM Killerに殺されたはなし | GMOメディア エンジニアブログ

    こんにちは、DBAです。 MySQL5.6のオンラインALTER TABLEでハマった時のおはなしです。 5.6にはオンラインALTER TABLE関連のパラメーターに innodb_sort_buffer_size というものが追加されており(5.5以前はfast index creationが効く時に使われるパラメーターとして内部的に1Mでハードコードされていたものが、設定可能になった)、前にざっくり試したところ 大きくすれば一応それなりの恩恵は受けられそうなので大きくしたんですよ。 毎日の定期バッチで盛大にInnoDBのテーブルにバルクインサートをかけた後にALTER TABLEでインデックスをくっつけてRENAME TABLEでテーブルを切り替える…なんてことをやっているサービスには打ってつけだと思ったわけです(そもそもそのやり方の善悪について やがて DBAは 考えることを止めた

  • Redis Sentinelを運用してみたお話 | GMOメディア エンジニアブログ

    こんにちは、宇津井です。 弊社ではゲソてんというゲームプラットフォームを運営しております。ゲソてんではサービスリリース当初から主にキャッシュ的な役割でRedisを導入していました。つい先日の事ですが訳あってRedis 2.6からサポートされたRedis Sentinelを採用しました。今回は、採用に至った経緯をご紹介します。 簡単なシステム構成 パフォーマンスは良いし、Memcachedには無い便利な機能を提供するRedisですが約一年間運用していくつかの問題が出てきました。 Redisサーバーが突然高負荷に陥るするとWebサーバーも高負荷に陥るRedisのReplicationは張ってるけどアプリケーション側でRedis Slaveへフェイルオーバーしない(MySQLを直接参照する)Redis落ちると恐らくMySQLサーバーが耐えられない(落ちた事無いけど)という事で対策を行ってきました

  • MySQL Cluster Casual Talks #2 にConoHaがきたはなしの裏側 | GMOメディア エンジニアブログ

    こんばんは、yoku0825の中の人です。 去る 2014/06/25 にMySQL Cluster Casual Talks #2 というイベントをやりました。 イベントの内容については @garage-kid さんのブログとまとめが詳しいのでそちらを案内しておいて、わたしはちょっと運営裏話的なもの(というかタイトルの話)でもメモしておこうかと思います。 チューニング話が盛りだくさんの MySQL Cluster Casual Talks #2 にいってきた! MySQL Cluster Casual Talks #2 ハッシュタグ #mysql_jp まとめさてさて、なんで ConoHa が来たのかというとですね。一言で言っちゃえばまあ「グループ会社の商材宣伝」な訳なんですよね、当然。 なので MCCTの1回目 のときにも来てたんですよ。あの時は あんず と一緒でしたね。そのときはまだ

  • 1