タグ

2016年10月10日のブックマーク (11件)

  • サイトを37倍に高速化した7つの手法 - オールアバウトTech Blog

    今回はオールアバウトのnnmrが弊社サイトAll About Japanの速度を高速化した経緯についてまとめます。 All About Japanとは そもそもAll About Japan(以下AAJ)とは何かといいますと、弊社が提供している訪日外国人向けの日紹介サイトです。 外国人向けサイトで、英語中国語(繁体字)、中国語(簡体字)、タイ語、韓国語の5か国語に対応しております。 「Anime」「Izakaya」「Ninja」といったような特集や、実際に観光する人向けのモデルルート記事が特色です。 ■ 特集 (url : http://allabout-japan.com/en/tag/sushi/ ) ■ モデルルート記事 (url : http://allabout-japan.com/en/article/222/ ) 技術的な紹介 LAMP環境です。 (サーバー構成は後に記述

    サイトを37倍に高速化した7つの手法 - オールアバウトTech Blog
  • Goで覗くシステムプログラミングの世界

    プログラミングの勉強にあたってよく言われるのは、「流行に左右されるような技術の尻を追いかけるよりも、土台となる技術を身につけることが大切」ということです。 例えば、ウェブブラウザで動くJavaScriptを書くときは、流行しているライブラリの書き方を暗記するよりも、 ブラウザがどのようにCSSHTMLを解釈してスクリーンに文字や絵を描き出していく(レンダリングしていく)のかを理解することが大切です。 さもないと、ライブラリの流行が変わるだけで勉強したスキルが失われてしまいかねません。 データベースでも同じことがいえます。SQLの文法を学ぶことよりも、データベースがどのようにスケジューリングを行い、 どのようにデータを探索していくのかを学ぶほうが、パフォーマンス・チューニングのコツなどもひらめきやすくなるでしょう 1 。 「土台となる技術を身につける」を、もう少しちゃんと言い換えれば、「今

    Goで覗くシステムプログラミングの世界
  • Dockerホットデプロイ運用の話 / Operations for Zero Downtime Docker Deployment

    Dockerホットデプロイ運用の話 / Operations for Zero Downtime Docker Deployment

    Dockerホットデプロイ運用の話 / Operations for Zero Downtime Docker Deployment
  • Quipper on Containers

    2016/09/21 JAWS UG コンテナ支部 #6

    Quipper on Containers
  • ISUCON6予選をトップ通過しました : DSAS開発者の部屋

    @methane です。「この技術部には問題がある!」というチーム名で @kizkoh (インフラ担当), @mecha_g3 (アプリ担当) とともに ISUCON 6 に参戦し、予選をトップスコアで通過しました。 恒例のふりかえり記事を書きます。 ふりかえり 残念ながらスコアは記録してないのですが、時系列順にやったことをまとめます。 アプリのコードは methane/isu6q-app で公開しているので、興味がある方はコードを確認してください。 strings.Replacer を使う 使用言語は最初から Go と決めていたのですが、Goの初期実装は遅すぎてタイムアウトで最初からスコア無しでした。 top でアプリのCPUが支配的なのはすぐ判りましたし、コードを読めばなにが遅いのかも一発で判りました。そんなに長くないので関数全体を張ります。 func htmlify(w http.R

    ISUCON6予選をトップ通過しました : DSAS開発者の部屋
  • ISUCON6予選をC++で参加して予選通過した話

    チーム名「Anago」で @iwiwi, @zuisou, @imos の 3 人で ISUCON6 予選に参加し,幸運にも 1 日目 3 位で通過することができました.@iwiwi が「ISUCON に C++ で参加したい!」と言っており,それを全力バックアップをしようと思ったのがきっかけの参加でした. 前日までにやったこと C++ で全てを書けば最速になるのは自明なのですが,C++ は参考実装として与えられていないだけではなく,HTTP サーバを書くことを想定していない言語のため準備には苦労しました. C++ で HTTP サーバを書く方法は,既存の Web サーバ (e.g., nginx, Apache, H2O) のプラグインを書いて実装するか,FastCGI として実装するか,フルスクラッチで書くかの選択肢が考えられますが,プロセス間通信を避けて爆速にしたかったので,事前に

  • ISUCON6 予選の記録 - hokaccha memo

    ISUCON6にしましまスペシャルというチーム名で会社の同僚と参加して最終スコア147,028で予選通過できました。言語はRubyです。コードはここに公開してます。 https://github.com/hokaccha/isucon2016_qualifying 以下やったこととかのメモ。 10時-11時 下準備を整える どういうアプリケーションか確認 コードをざっと読む サーバーのスペックとか動いてるプロセスを確認 ベンチ流してみてリクエストの傾向を把握する nginxのログから集計してブラウザから見れるような雑なやつを用意しといた 11時-12時 作戦をたてる とりあえず/と/keywordが遅いのでそこを改善することにする htmlifyの改善、isutarの統合、インフラ・ミドルウェア周りの設定の3つに作業を分けてそれぞれ取り掛かる isupamもどうにかしたほうがいいかと思った

    ISUCON6 予選の記録 - hokaccha memo
  • ISUCON6参加者が実践したInfrastructure as CodeあるいはISUCON6のAzureインフラ解説 - まいんだーのはてなブログ

    ISUCON6予選参加者の皆様、お疲れさまでした。 今回の ISUCON は Microsoft Azure ということで、多くの方にとってなじみのない環境だったと思います。 そこで、今回の ISUCON6 の予選問題がどのような仕組みで展開されているのか、Azure IaaSの仕組みを交えて解説します。 はじめに @matsuuさんの多大な努力によって、運営に提案しようと思っていた構成の大半がすでに作られていました。 使ったことのないクラウドを触り始めてすぐに作り上げてしまうのは、さすがです! 復習される際はぜひ、@matsuuさんの作ったテンプレートを活用するとよいでしょう。 Azure IaaSの概要 Azureはおおむね国ごとにジオという単位で分けられており、その中に2つ以上のリージョンを持っています。 リージョンはそれぞれペアになるものが存在していて、日では東日と西日がそれ

    ISUCON6参加者が実践したInfrastructure as CodeあるいはISUCON6のAzureインフラ解説 - まいんだーのはてなブログ
  • ISUCON6にmorimoto組で参加してきました - moshisora.memo

    ISUCON6に参加しました 事前準備 当日タイムライン 9:00 10:00〜11:00 11:00〜12:00 12:00〜15:00 15:00〜17:30 17:30〜18:00 予選突破できた リンク ISUCON6に参加しました ISUCON6 、日曜日に参加しました。前々から出てみたいなーと思ってはいたものの、面子をゆるぼしてみたものの集まらず…と見送りかなーと思っていたところ、社内メンバーで組めることになって自分でも驚きの布陣で参戦することに。ありがとうございました! morimoto組 fujiwara(組長。いわずもがな) moshisora(私。新卒2年目。初参戦) ボンゴレ(新卒1年目。初参戦) 足回りや方針はfujiwaraさんに引っ張っていただきつつ、残る2名で実装がんばるぞい、という感じで挑みました。実装言語はPerlでやりました。 事前準備 slackとかg

    ISUCON6にmorimoto組で参加してきました - moshisora.memo
  • ISUCON 6 予選通過しました - 酒日記 はてな支店

    ISUCON 6 にチーム「morimoto組」で参加して、予選を通過して決勝進出することになりました。 ISUCONは過去5回のうち優勝3回、3位1回、出題1回、ということでもう引退(勝ち逃げ)しようかな…とも思ったのですが、今年は出題にも関わっていないので参加しないと完全に縁が切れてしまうし、それも寂しい。ということで。 チームメンバーは直前まで決まらなかったのですが、結局会社の新卒1,2年目( id:amusan , id:moshisora ) と組むことにしました。若いとはいえ去年と今年の社内ISUCON優勝メンバーです。(歳の差何歳だろう) 当日やったこと 設営完了 #isucon pic.twitter.com/Beu4lLiYnC— fujiwara (@fujiwara) 2016年9月18日 天気は悪いが見晴らしはいい会議室を確保して万全の体制 (まぶしいのですぐブライ

    ISUCON 6 予選通過しました - 酒日記 はてな支店
  • Go言語の低レイテンシGC実現のための取り組み | POSTD

    (訳注:2016/9/28、頂きましたフィードバックを元に記事を修正いたしました。) 私たち Twitch では、通信が大変混み合うシステムの多くで Go を採用しています。ライブ映像を配信したり、何百万人というユーザにチャットサービスを提供したりする場合に直面する問題を考慮すると、Goはそのシンプルさや安全性、パフォーマンス、読みやすさの点で良いツールだと言えます。 しかしこれは、私たちにとってGoがいかに素晴らしいツールかを説明する、よくある記事ではありません。Goで現在実装されているランタイムにより行き詰まったいくつかの局面をどう打開するか、さらに、私たちはそうした限界に達した時にどう対応したらいいのかについて書いたものです。 これからお話しするのは、「Go 1.4からGo 1.6へのGoランタイムの改善が、どのようにしてガベージコレクション(GC)の停止時間を20倍も改善することに

    Go言語の低レイテンシGC実現のための取り組み | POSTD