タグ

ブックマーク / blog.yuuk.io (77)

  • Webシステムにおけるデータベース接続アーキテクチャ概論 - ゆううきブログ

    先月投稿した2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャを学ぶ道のりと代表的な実装モデルの概要を紹介しました。 今回は、前回同様、主に新卒Webエンジニア向けに、Webアプリケーションサーバとデータベースサーバ間の接続管理モデルと運用事情について紹介します。 データベース接続の永続化やコネクションプーリングとは何なのか、なぜ必要なのかといったことが主な話題です。 背景 データベース接続の永続化とはなにか データベース接続のオーバヘッド データベース接続の永続化手法 コネクションプーリングとはなにか コネクションプーリング: ドライバ型 コネクションプーリング: プロキシ型 コネクションプーリング全体について PostgreSQLMySQL 参考資料 まとめ 背景 2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャの話とWebアプリケーショ

    Webシステムにおけるデータベース接続アーキテクチャ概論 - ゆううきブログ
    y_uuki
    y_uuki 2015/06/30
    若者向けです
  • 2015年Webサーバアーキテクチャ序論 - ゆううきブログ

    2023年03月31日追記:この記事を基に、@sadnessOjisanさんより、コードレベルにより踏み込んだ、かつ、グリーンスレッドベースの新しいWebサーバアーキテクチャも含めて整理された記事 Webサーバーアーキテクチャ進化論2023 | blog.ojisan.io が公開されました。 主に新卒のWebエンジニア向けに、古典的なWebサーバアーキテクチャを学ぶ道のりと代表的な実装モデルの概要を紹介します。 この辺りの話題がWeb界隈で流行っていたのは数年以上前というイメージですが、Webサービスは相変わらずWebサーバの上で動いているので、流行り廃り関係なく学ぶべき内容だと思っています。 また、HTTP/2がいよいよRFC化し、既にh2oやtrusterdなどのHTTP/2のサーバ実装があり、今後Webサーバアーキテクチャを再訪することが増えるような気がしています。 ところが、We

    2015年Webサーバアーキテクチャ序論 - ゆううきブログ
    y_uuki
    y_uuki 2015/05/28
    若者向けです
  • Mackerelを支える時系列データベース技術 - ゆううきブログ

    【追記 2018/01/06】現在Mackerelは、時系列データベースという概念をクラウドの技で再構築する - ゆううきブログの時系列データベース実装へ移行しています。 サーバモニタリングサービス Mackerel で採用している時系列データベース Graphite を用いたシステムの構築と運用事情を紹介します。Graphiteについては、プロビジョニングやアプリケーションからの使い方、Graphite自体のモニタリングなど様々なトピックがありますが、特に大規模ならではのトピックとして、Graphiteの内部アーキテクチャ、パフォーマンスチューニングおよびクラスタ構成についての知見を書きます。 背景 Graphiteシステム概観 データ構造とアーキテクチャ whisperのデータ構造 carbon-cacheのアーキテクチャ パフォーマンス特性 パフォーマンスチューニング ミドルウェアレ

    Mackerelを支える時系列データベース技術 - ゆううきブログ
    y_uuki
    y_uuki 2015/04/30
    飛び道具(すごい分散DB)使いたくなる気持ちを必死で抑えてる様子です
  • Ansible + Mackerel APIによる1000台規模のサーバオペレーション - ゆううきブログ

    Ansible と Mackerel API を組み合わせて、1000台規模のサーバ群に対して同時にパッケージの更新やその他のサーバオペレーションのための方法を紹介します。 タイトルに Mackerel とありますが、それほど Mackerel に依存しない話です。 (AnsibleとDockerによる1000台同時SSHオペレーション環境 - ゆううきブログに続編を書いています。) 背景 社内では、サーバ構成管理ツールとして Chef を使用しています。 Chef Server は運用が大変なので使用しておらず、knife-solo と Mackerel APIを組み合わせてホストと Chef role とのマッピングに Mackerel のロール情報を用いています。 また、MackerelRuby クライアントを利用して recipe 内で API を叩いて、Mackerel

    Ansible + Mackerel APIによる1000台規模のサーバオペレーション - ゆううきブログ
    y_uuki
    y_uuki 2015/02/26
    若者なので大量にSSHしまくってる
  • パフォーマンスの観点からみるDockerの仕組みと性能検証 - ゆううきブログ

    Docker Meetup Tokyo #4 にて「Docker Performance on Web Application」という題で発表しました。 発表内容は、下記の2つの記事をまとめたものに加えて、最新バージョンの Docker 1.4 での ISUCON ベンチマークと、storage-driver として Device Mapper + Docker 1.4 から実装された OverlayFS を試しました。 Dockerは速いのか?Dockerのパフォーマンスについて重要なことは何か? - ゆううきブログ ISUCONでNginxMySQLDocker化したときのパフォーマンス - ゆううきブログ この記事は、上記2記事で、いくつか難しいポイントがあったとフィードバックをいただいたので、Docker Meetup での発表内容を少し詳しめに説明したものになります。 1.

    パフォーマンスの観点からみるDockerの仕組みと性能検証 - ゆううきブログ
    y_uuki
    y_uuki 2015/01/19
    シバソン成果です
  • インフラエンジニア向けシステム系論文 - ゆううきブログ

    この記事ははてなエンジニアアドベントカレンダー2014の23日目とシステム系論文紹介 Advent Calendar 2014の23日目を兼ねています。 今回は、インフラエンジニア向けにシステム系論文を読むということについて書きます。 ここでいうインフラエンジニアは、Webサービスを作る会社のサーバ・ネットワーク基盤を構築・運用するエンジニアを指しており、はてなではWebオペレーションエンジニアと呼んでいます。 人が足りなくて普通に困っているので採用にご興味のある方はぜひこちらまで。 SRE (Site Reliability Engineer) 職 - 株式会社はてな はてなでは、id:tarao さんを中心に有志で論文輪読会を定期的に開催しており、システム系論文にかぎらず、言語処理系、機械学習についての論文などが読まれています。 だいたい1人でインフラまわりの論文を読んでいて、インフラ

    インフラエンジニア向けシステム系論文 - ゆううきブログ
    y_uuki
    y_uuki 2014/12/24
    真夜中にホットエントリ上がってる間、SSD故障と戦ってた
  • YAPC::Asia 2013ではてなのサーバ管理ツールの話のはなしをしました - ゆううきブログ

    YAPC::Asia 2013で"はてなのサーバ管理ツールの話"というはなしをします - ゆううきブログ YAPC::Asia Tokyo 2013で、アルバイトで開発してたサーバ管理ツールのはなしをしました。 前半がサーバ管理ツールの開発思想で、後半がサーバメトリクス可視化の実装についてです。 キワモノツールであるRRDtoolの話は後ろに押し込んであるので、興味ない方は最初のほうだけ見てもらえればよいと思います。 感想 トーク後に結構話しかけられたりしてうれしかった。 トークの内容をブログに書いて、インターネット上で何か反響を得たことはあったけど、トークしたその後、直接話しかけられることは今まであまりなかった気がする。 コミュニティで認められるのに何か発表するのって大事だなと改めて思った。 RRDtoolをご存知の方が会場内でパッとみで1/4くらいいらっしゃったので、結構インフラ系の人

    YAPC::Asia 2013ではてなのサーバ管理ツールの話のはなしをしました - ゆううきブログ
  • Go言語によるCLIツール開発とUNIX哲学について - ゆううきブログ

    この記事ははてなエンジニアアドベントカレンダー2014の8日目です。 今回は、Go言語でサーバ管理ツール Mackerel のコマンドラインツールmkr を作るときに調べたこと、考えたこと、やったことについて紹介します。(mkr は現時点では開発版での提供になります。) コマンドラインツールについて コマンドラインツールを作るにあたって、@deeeet さんの YAPC Asia 2014 での発表資料が非常に参考になります。 書籍 UNIXという考え方ーその思想と哲学 の内容をベースに、コマンドラインツールはどうあるべきかということが丁寧に説明されています。 上記資料から引用させていただくと、コマンドラインツールにおいて重要なポイントは以下の7つであるとされています。 1つのことに集中している 直感的に使える 他のツールと連携できる 利用を助けてくれる 適切なデフォルト値を持ち設定もでき

    Go言語によるCLIツール開発とUNIX哲学について - ゆううきブログ
    y_uuki
    y_uuki 2014/12/08
    Mackerel のCLIツール書いた話書いた
  • GoとMySQLを用いたジョブキューシステムを作るときに考えたこと - ゆううきブログ

    【追記】2023年3月21日 YAPC::Kyoto 2023で、ジョブキューシステムFireworqの設計と運用実績も含めて発表されました。id:tarao ++ 【加筆修正】 2020年2月16日 執筆時から6年も経過していますが、たまたまこの記事を振り返る機会があったので、日語がおかしいところを一部修正したり、一緒に取り組んだ方々の名前が書かれていなかったところを修正しました。 【追記】2017年12年24日 このエントリのジョブキュー実装がFireworqという名でOSSとして公開されました。id:tarao ++ github.com この記事ははてなエンジニアアドベントカレンダー2014の4日目です。 前回は Mackerelで採用している技術一覧とその紹介 - Hatena Developer Blog でした。 社内の開発合宿で、 id:taraoさん、id:hakobe

    GoとMySQLを用いたジョブキューシステムを作るときに考えたこと - ゆううきブログ
    y_uuki
    y_uuki 2014/12/05
    さいきょうのしすてむです
  • Dockerは速いのか?Dockerのパフォーマンスについて重要なことは何か? - ゆううきブログ

    だいぶ前からDockerLinuxコンテナ)のパフォーマンスについて、速いことは速いだろうけどどの程度速いのか、もし遅いことがあるなら何がパフォーマンスにとって重要なのか(AUFSが遅いとかそういうの)が気になっていたので、今回は で紹介されていた Docker のパフォーマンス検証に関する IBM の Research Report を読んだ。Report の内容をベースに、Docker のパフォーマンスの勘所などをまとめてみた。 Report のタイトルは An Updated Performance Comparison of Virtual Machines and Linux Containers 。 GitHub にベンチマークコードと実験データが置いてあってちゃんとしてる。 前提 まず、VMとコンテナの歴史を振り返るのに知らぬはエンジニアの恥。今さら聞けない【コンテナ/仮想

    Dockerは速いのか?Dockerのパフォーマンスについて重要なことは何か? - ゆううきブログ
    y_uuki
    y_uuki 2014/11/10
    シバソンの成果です
  • tmux + ssh + Mackerel API を組み合わせたとにかくモダンなサーバオペレーション - ゆううきブログ

    冗長化させたホストやスケールアウトさせたホストなどの同じサーバ構成をもつホストグループや、あるサービスに所属するホスト全てに同時にsshして同時に操作したいことがある。 複数のホストに同時ログインするツールとして cssh があるけど、毎回複数のホスト名をチマチマ入力したり、すぐに古くなるホスト一覧ファイルを手元に持ちたくない。Immutable Infrastructure 時代にはそぐわない。Immutable Infrastructure 時代にはホスト名なんて毎日変化するし誰も覚えてない。サーバ管理ツール上のグループ名を使ってグループ配下のホストに同時にsshしたい。 あと、cssh は個人的に挙動がなんか微妙なので、代わりに tmux と ssh を組み合わせている。 cssh はマスタとかスレーブとか気持ちはわかるけど、複数ウィンドウ操作は使い慣れたターミナルマルチプレクサを使

    tmux + ssh + Mackerel API を組み合わせたとにかくモダンなサーバオペレーション - ゆううきブログ
    y_uuki
    y_uuki 2014/09/26
    はてなでとにかくモダンなサーバ管理ツールを作りたい運用したい方を募集しております!!!
  • 25歳になった - ゆううきブログ

    今日で25歳になった。 ここ数年Facbeookとかいうやつのせいで誕生日の印象が悪くなってるのはさておき、この1年はずっとサバッとか言ってた。 修了に失敗して社会人になったはずが、あまり生活に変化はない。 技術には集中できるようになった。 今の仕事はわりと楽しい。 こわいこわいとかいいながらスイッチオーバしたり、イミュータブルなんとかのゴミ掃除とかしたり、Chefに順番どおり実行してほしいとか祈願してたり、スラッシングしてるサーバみてシバ感あるとか言ってた。 5年後は30歳とか思うと未来がない。 25歳、もっとちゃんとしてると思ったが実体はこんなものだ。 とにかくおっさんになりたくない。 せめておっさん感のないおっさんになりたい。 ウィッシュリスト 25歳、5年後はshoichiさんかと思うと未来がない— yuuki (@y_uuk1) July 23, 2014 5年後もシバッとか言っ

    25歳になった - ゆううきブログ
    y_uuki
    y_uuki 2014/07/24
    おっさんになりたくないので、ウィッシュリストだけは手に入れたい
  • DockerとS3を用いた、yum / apt リポジトリ作成・運用の継続的インテグレーション - ゆううきブログ

    Docker を用いた rpm / deb パッケージ作成の継続的インテグレーション - ゆううきブログ の続き。 前回は、rpm / deb パッケージを作るために、CentOS、Debianなど各種ディストリビューションを揃える手間をかけずに、Docker コンテナ上でパッケージングして、ついでに Jenkins で CI するみたいなことを書いた。 今回は、作成したパッケージを yum / apt リポジトリに登録して yum / apt コマンドでパッケージインストール/アップデートできるようになるまで継続的インテグレーションするという話。 問題点 yum / apt リポジトリ用の専用ホストを立てて、そこで apache とかで静的ファイルをホストするのはめんどくさい。 特に、mackerel-agent みたいなユーザにインストールしてもらうパッケージの場合、リポジトリを公開し

    DockerとS3を用いた、yum / apt リポジトリ作成・運用の継続的インテグレーション - ゆううきブログ
    y_uuki
    y_uuki 2014/05/28
    文章消えてたやつ直した
  • Linuxのブロックデバイスレベルで実現するrsyncより高速な差分バックアップについて - ゆううきブログ

    社内で論文輪読会みたいなことやってて、そこで紹介した論文の内容についてです。 最近、Graphite に保存しているデータのバックアップ(データ同期)に rsync 使ってて、かなり遅いので困ってた。 LISA っていう 大規模システム、sysadmin 系のカンファレンスがあって、ここから論文探してたら、ちょうど巨大データの高速バックアップの実装の話があったので読んでみた。 論文概要 dsync: Efficient Block-wise Synchronization of Multi-Gigabyte Binary Data - https://www.usenix.org/conference/lisa13/technical-sessions/presentation/knauth - Thomas Knauth and Christof Fetzer, Technische U

    Linuxのブロックデバイスレベルで実現するrsyncより高速な差分バックアップについて - ゆううきブログ
    y_uuki
    y_uuki 2014/05/26
    コメントのあったZFSとDRBDについて追記しました。
  • Kindleコミックのいいやつ - ゆううきブログ

    技術にやる気が無くなったら、Kindle でコミックを買い漁るみたいなことしてる。 そういうのを8ヶ月くらいやってるといいやつを結構発見できる。 順番は読んだ順。 イムリ 1巻 (BEAM COMIX) 作者: 三宅乱丈出版社/メーカー: エンターブレイン発売日: 2007/07/25メディア: コミック購入: 4人 クリック: 36回この商品を含むブログ (82件) を見る 割りと古典的なファンタジー。イマドキっぽくない。 乙嫁語り 1巻 (ビームコミックス(ハルタ)) 作者: 森薫出版社/メーカー: KADOKAWA / エンターブレイン発売日: 2012/09/01メディア: Kindle版購入: 3人 クリック: 6回この商品を含むブログ (8件) を見る 世界観でてる。落ち着きがある。 孤独のグルメ【新装版】 作者: 久住昌之出版社/メーカー: 扶桑社発売日: 2012/09/0

    Kindleコミックのいいやつ - ゆううきブログ
    y_uuki
    y_uuki 2014/05/13
    書いた
  • 技術情報の収集とPresso - ゆううきブログ

    情報収集、前は RSS とか見たりしてたこともあったけど、今でははてなブックマークしか使ってない。 特に最近は Presso 見てることが多い。 Presso、変な使い方していてデフォルトで設定されてる生活とかITとかスポーツみたいなカテゴリを全部消してる。 代わりに、技術っぽいタグをフォローしまくってて、今のタグ一覧が Docker, Linux, Kernel, TCP, Graphite, JVM, Golang, Monitoring, ImmutableInfra, Sensu, AWS, Network, Performance, Perl, LVS, HaProxy, PostgreSQL, MySQL, Redis, Serf, Etcd, Fluentd, Xen, LXC, Netty, Scala, Nginx, RabbitMQ, XFS, ioDrive, Nag

    技術情報の収集とPresso - ゆううきブログ
    y_uuki
    y_uuki 2014/05/12
    書いた
  • なにもわからないところから始めるJVMモニタリング #jvmcasual - ゆううきブログ

    JVM Operation Casual Talks で発表してきた。 なんでJVMでしゃべってたのか当によくわからない。 JVM Operation Casual Talks : ATND とにかく雑な発表したという記憶しかない。 NewRelic のトップページにでかでかとおっさんでてきて印象悪いとかそういうの。 JVM とかどうでもよくて mackerel: 新しいアプリケーションパフォーマンスマネジメント にしか興味がなかった。 Java Performance (Java Series) 作者: Charlie Hunt,Binu John出版社/メーカー: Addison-Wesley Professional発売日: 2011/10/04メディア: Kindle版この商品を含むブログを見る Java Performance: The Definitive Guide 作者:

    なにもわからないところから始めるJVMモニタリング #jvmcasual - ゆううきブログ
    y_uuki
    y_uuki 2014/04/08
    なんか発表しました。
  • EC2でSR-IOVを使うときのNICドライバパラメータ検証 - ゆううきブログ

    SR-IOV enabledな c3/i2 インスタンス使うときのNICドライバのパラメータをどうしたらいいかわからなかったので軽く検証してみた。 NICのドライバパラメータ(InterruptThrottleRate)をチューニングすることで、例えばHAProxyを使ってるような高pps環境でCPUの割り込み負荷を削減できる。 ELBの代わりにHAProxy使ってる噂は結構聞いたりする。 - クックパッドでのVPC移行について - Cookpad's deployment and auto scaling // Speaker Deck みんなELBからhaproxyに移行してる #jawsdays— kenjiskywalker (@kenjiskywalker) March 15, 2014 前提 c3インスタンス 2013年の11月くらいにでた新しいインスタンスタイプ SSD Xe

    EC2でSR-IOVを使うときのNICドライバパラメータ検証 - ゆううきブログ
    y_uuki
    y_uuki 2014/03/20
    書いた
  • HTTP/2.0と今後のWebアプリケーションの開発・運用について (#cross2014) - ゆううきブログ

    追記 @jovi0608 さんに非常に丁寧にコメントをいただきました。 https://gist.github.com/shigeki/ba7941d114344ddd4b01 文 CROSS 2014の次世代Webセッションに参加した。 いろいろ刺激を受けたので、特に、Webアプリケーションを開発・運用する上で、今後どう影響してくるだろうみたいな視点で整理したことを書いてみた。 次世代Webセッションは去年もUSTで見てて、めっちゃ面白かったので、今年は生で聞きに来た。 去年のセッションの議論は、 naoyaさんの記事が雰囲気がわかりやすかった。 Webはインターネットになった - naoyaのはてなダイアリー 去年、SPDYの内容とか追ってて、HTTP/1.1と何が違うのかみたいなことを調べて書いたりしてた。 SPDYで複数のTCPコネクションをひとつにまとめるとはどういうことか -

    HTTP/2.0と今後のWebアプリケーションの開発・運用について (#cross2014) - ゆううきブログ
    y_uuki
    y_uuki 2014/01/21
    知見ほしいので、斧投げてください
  • モニカジ京都に参加して、SensuとGraphiteの話をしました #monitoringcasual - ゆううきブログ

    Monitoring Casual Talk in Kyoto on Zusaar 先週のことだけど、モニカジ京都に参加した。 というか、主催者のid:shoichimasuharaさんとかいう人に雑に主催者に入れられた。 といってもなにもしてなくて、ただインターネットで暇そうな人間を勧誘しただけだった。 @moznion http://t.co/ssAvvYgjD1— ゆううき (@y_uuk1) 2013, 11月 2 当日のだいたいの雰囲気は モニカジin京都を開催しました #monitoringcasual - 桝原翔市的博客 に書いている通り。 shoichiさんが無限に営業活動して、人が集まってきてた。 フルスタックっぽいなと思った。 おつかれさまでした。 次回もよろしくおねがいいたします。 自分の発表 当日僕は、SensuとGraphiteの話をしつつ、ひたすら異常な努力をし

    モニカジ京都に参加して、SensuとGraphiteの話をしました #monitoringcasual - ゆううきブログ
    y_uuki
    y_uuki 2013/12/08
    書いた