Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Microservices Advent Calendar 2017 14日目の記事です。 今回は、EnvoyとIstioという、microservicesの文脈でよく出てくるツールの紹介です。 https://www.envoyproxy.io/ https://istio.io/ どちらも立派な公式ページ/ドキュメントがあり、紹介も何もあったもんじゃないと思われるかもしれませんが、公式ドキュメント上では、とてもたくさんの概念と機能が紹介されていて、私にはこの2つが一体何物なのか中々掴めなかったので、私なりの理解での言葉に置き換えて説

(多分)一般的なWebサーバーであるApacheは複雑な設定も可能で便利なのですが、その分重いのです。 どう重いのかというと、Apacheは一つのプロセスが一つのHTTPリクエストを同期処理で裁いてるのでその間は他の処理をしません。なので、同時アクセス数が増えるとApacheはプロセスをどんどん生成します。(あるいは後からきたリクエストを待たせる) なので、アクセス数が増えると急激にパフォーマンスが落ちるという問題を抱えてます。(ほかにもプロセスIDが足りなくなってどんなにリソースがあっても最大プロセスIDで制限されてしまう) で、最近話題のハイパフォーマンスWebサーバーがnginx(えんじんえっくす)です。nginxは一つのプロセスで複数のリクエストを非同期で同時に処理します。なので、アクセス数が増えてもパフォーマンスが落ちにくいという特性があります。特に静的ファイルの場合は処理のほ
Server names are defined using the server_name directive and determine which serverblock is used for a given request. See also “Hownginx processes a request”. They may be defined using exact names, wildcard names, or regular expressions: server { listen 80; server_name example.org www.example.org; ... } server { listen 80; server_name *.example.org; ... } server { listen 80; server_name mail.*;
yubitterという携帯向けTwitterクライアントサービスで、ユーザーのアイコンを携帯電話向けに変換している(※1)、いわゆる画像変換サーバーのhttpd部分をApacheからnginxへ変更しました。 処理は単純に以下の流れです。 クライアントからアイコン画像のリクエストが来る 既にハードディスクにキャッシュファイルがある場合は、それをそのまま返す ファイルがない場合は、PHPプログラムがアイコン画像がアップロードされているTwitterのサーバー(現在はAmazon S3/CloudFront)へ取りに行くPHPプログラムが取得した画像データをGDライブラリを利用して加工、ハードディスクに保存、レスポンスを返す 変換するにあたり、以下の2パターンを検討しました。 リプレイス案1は、Apacheのレイヤーを一つ下げてAPサーバーに専念してもらう案で、2案は、Apache+mod_

[追記1] 最後で説明しているproxy cacheの設定を修正しました。 [追記2]nginx proxy cacheでキャッシュしない場合の処理を変更しました。 [追記3] スマートフォンや携帯で閲覧した時にキャッシュしない設定を追加しました。 はじめに 大げさな題名ですが、今回はWordPress単体を速くするのではなく、データベースやWebサーバなどの調整、またnginxのproxy cache機能を使って速くする話になります。 サイトの構成によっては、proxy cacheは使えないかもしれませんが、使わなくても5倍程度速くすることはできましたので、参考にしていただければと思います。 今回行うチューニング一覧DBを最適化するプラグインを導入する APCを導入してPHPを速くするMySQLを速くする 重いWordPressプラグインを外すnginx+FastCGIにする W

今まで、さくらのVPSでサーバの設定をしていて、nginxでリバースプロキシを立てて処理させた方がメンテナンス性もあがるのではと考えています。nginx+apacheでちょっぴり快適なWebサーバーを目指してみる(CentOS さくらのVPS) さくらVPSとnginxリバースプロクシで最速WordPressブログを作る方法(ベンチマーク付き) 軽量高速Webサーバのnginxで静的コンテンツ配信とキャッシュコントロールNginxを使ったもう一歩進んだWordPressチューニングWordPressを100倍速くする!MySQLの調整やnginx proxy cache apache のかわりにnginxを使ってみる(10)nginx をリバースプロキシとして使ってみた apache のかわりにnginxを使ってみる(11)nginxのproxyでキャッシュを削除する方法 さ
Nginxを使ったWordPressのチューニングといえば、フロントエンドのNginxとバックエンドのNginx(もしくはApache)に分けてproxy cacheを効かせるのが王道です。 さらにWP Super Cacheプラグインを利用してなるべくPHPやMySQLにアクセスさせないようにすると、手軽で絶大なパフォーマンスアップが可能です。 今回はそこからもう一歩進めたチューニングについて書きたいと思います。 二段階層を廃したシンプルな構成 まずは、図をご覧ください。 前述の王道チューニングの構成はA図となります。 proxy cacheはNginxがバックエンドのサーバーに処理を回し、返ってきたレスポンスをキャッシュして、Nginx自身がキャッシュを返すことでパフォーマンスを上げる仕組みです。 A図-1がキャッシュの無いアクセス、A図-2がキャッシュが効いているアクセスを表していま

CloudFront+S3の画像配信システムに、サムネイルとかに使う画像のリサイズ機能を追加してみる。 要するにオリジナル画像がこのURLだとすると、 http://xxx.cloudfront.net/sample.jpg こういうURLで100×100にリサイズできるようにする。 http://xxx.cloudfront.net/resize/100x100/sample.jpg システム構成 元の構成はこういうのを想定。 画像はS3に保存され、アクセスは全てCloudFront経由。 これをパスが/resize/で始まる場合は、画像変換サーバを通してリサイズするようにする。 画像変換サーバはEC2で、ちゃんとELBを使って冗長化もする。 既にELB+EC2でAPPサーバを運用しているなら、流用して追加コスト0で実現できるかも。 画像変換サーバの設定 今回はnginxのimage_f

現実的なWebサービス環境において、Docker化によるパフォーマンス低下がどの程度のものか調査するために、 ISUCON4 の予選問題のうち、Nginx とMySQL 部分をDocker 化してベンチマークをとってみた。 典型的なWebサービスシステムの3層構造(Proxy, App,DB)を構築し、ベンチマーカーにより高ワークロードを実現できるので、ISUCON の予選問題は適当な題材といえる。Docker のパフォーマンスについて留意することは先日書いたエントリに全て書いてる。 上記のエントリを要約すると、Docker のパフォーマンスについて重要なこととは storage-driver の選択 (AUFS or Devicemapper or ...) Volume の ON / OFF AUFS などの差分ファイルシステムをバイパスするかしないか Hostnetwor

去年に引き続き、ISUCONにLINEの選抜チーム「チーム生ハム原木」で出場して優勝することが出来ました!!!! @tagomoris、@sugyan お疲れ様でした!! #isucon 2014で優勝しました - すぎゃーんメモ 最後の最後、残り15分でnginxの設定を行う場所を間違えていたということに気付き、ローカルのベンチマークでしか検証ができず、どの程度のスコアになるのか、またfailするのか分からない状況でしたが、結果的に良いスコアになってほっとしました。 自分でも何度も言いながら「nginxのrewriteはinternal redirect」の大原則を忘れていました。はい。1日100回唱えるようにします。 予選アプリケーションの復習 劇的なスコアは出ていませんが、地道に復習をしていて、 $ ~/benchmarker bench --workload 8 07:26:29
ISUCON4予選お疲れさまでした。 すこし時間が経ってしまったけど、当日うまくいかなかったことの復習をしたので備忘としてここに記します。 今回のチームメンバーは@Yappoさんと@ar_tamaちゃんでした。ギリギリのオファーにも関わらず一緒に参加してくれてありがとう! チームメンバーの参加エントリはコチラ ISUCON4予選に参加してきた - たまめも(tech) YappoLogs: #isucon 2014 に参加して暫定圏外になってきました 当日うまくいかなかったこと 役割分担で僕が目指していたのは、セットアップや開発基盤をすばやく整えて、負荷やアクセスログを分析して根拠をもってなにをすべきかを明らかにすることで、メンバーそれぞれが力を発揮して問題に取り組めるようにできればいいなと思ってた。いわゆるファシリテータというやつなんですかね。 結果からいって自己評価は、そのほとんどがう
「全体のリソース効率を上げましょう」というためのものである。 Reverse Proxy がなぜ必要か - naoyaのはてなダイアリー これは完璧に正しくて、ただ「リソース効率」という概念はあまり具体的な想像が追い付かない人がいそうだなと思ったので、ちょっとだけ補足しようと思った。 Reverse Proxyを入れることでリソース効率の向上を狙うんだけど、それは以下のような複数の場面におけるそれぞれのリソース効率向上を複合的に狙うものだ。 通常時のトラフィック配信におけるCPU・メモリ使用率を最適化する バースト時(過負荷時)のトラフィックをより細かく制御可能とする 障害時におけるダウンタイムおよび総合的な計算・配信能力の低下を極小化する 多数のサーバによる構成全体を増強・入れ替え・移動あるいは削減する際の自由度の向上を狙う 簡単にコンピュータの性能だけで言うと最初の項目だけをリソース効
Google認証なリバースプロクシ&静的コンテンツ配信サーバー「gate」 - unknownplace.orgで紹介されている、typesterさんのgateという、GoogleのOAuth2認証付きプロキシサーバがとても便利そうだったので、即座に使いたくなった。 これは、昨今増えつつあるメトリクス系のツールだとかの、インターネット上に置きつつも、社内のみに提供したいサービスを立てるに際して、フロントにnginxをおいた場合に、認証のことを考えるのがだるい、というか、nginxの設定自体がだるいみたいなときに役立つツールです。その際、自分とこ的にはGitHubのorganizationでアカウント管理できるとさらによいので、GitHub対応をしてpull requestを送ったところmergeされました。ありがとうございます。 会社で運用しているorganizationがfoo_orga
Over the past few years, Disqus has become one of the biggest Django apps in existence, crossing over a billion unique visitors a month. But sometimes Django isn't the right tool for the job.Join Disqus engineer Adam Hitchcock to learn hownginx modules and Lua can replacePython services, about the infrastructure that launched realtime and ad services, as well as about some of the failures they'
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く