2013年3月19日 Tokyo Linux Study #5 #tlstudy の発表スライドです。 ZABBIX(赤) × Munin(緑) 。どうして両方を使う事になったのか?という話しがメイン。 サブタイトル「@zembutsuがホスティングサービスの監視パワーを強化しようとするけどとんでもないことになる話」
サーバ設定作業は面倒で間違いを犯しやすいため、Chef/Puppetなどのツールで自動化したいと考えている方は多いと思います。 私もそのような理由からChef(-solo)を習得しようと試行錯誤していました。 その結果、ある程度は動くようになったものの次のような問題があると思いました。 学習に時間がかかる 私は正直、今でもどのファイルに何を書くのかよく分かってないです。 幾分か簡単だと言われるchef-soloでも公式サイトのドキュメントだけではよく理解出来ませんでした。 また、バージョンによる差異なのか目的が異なるのか分かりませんが、ブログ記事を参考にしようとすると十人十色でどれが私に合った手順なのかわかりませんでした。 例え最終的に理解できたとしても、私やあなたが何日もかけて理解できないことはチームのメンバーも理解するのは難しいと思います。 対象サーバにインストールする必要がある Ch
UNIX系のOSで利用できるWebサーバの性能測定ツールといえば、Apache Benchやhttperfを思い浮かべる人が多いのではないでしょうか。これらの計測ツールは、残念ながら最近の高速なWebサーバを計測するには非力です。この記事では、高速なWebサーバにも負けないweighttpの使い方を紹介します。 weighttpとは何か weighttpは、Webサーバlighttpdの開発者が実装したWebサーバの性能測定ツールです。以下のような特徴を持ちます。 Webサーバのスループット(リクエスト毎秒)を測定できる ネイティブスレッドを複数起動し測定性能を向上できる libevを利用することで、モダンなポール・システムコールを利用する Apache Benchによく似たコマンドラインオプションを持つ 2.は Apache Benchやhttperfにはない機能です。ここが決定的に異な
muninはサーバのさまざまな情報をグラフ化して表示するソフトです。 つい”ムーニン”と言ってしまいますが、”ムニン”がいいようです。 サーバ監視ツールということですが、例えて言うなら、自動車のメーター類のような働きをします。Ganglia、CactiやCloudForecastが同分類のソフトになります。 具体的にどのような場面で重宝するかと言いますと、サーバを増やす際のスペックを検討するときも、失敗する可能性が減らせます。 メモリをいくら搭載するものを用意すればいいのか、CPUはもう少し安いものでも問題無いのかなど、見積もることが簡単になります。 例)メモリを48GB搭載したサーバの利用状況 また以前は、何か障害が起きたときに、人間が手動でデータをかき集めてくるということをよくやっていましたが、Muninを入れてからはその手間は減り、より詳しい情報を参照して原因の特定・対策を講じること
POST /post HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded Content-Length: 7 foo=bar 1行目は request-line で、 method URI HTTP-version の形をしています。URIはホストを含めた絶対URIの場合と、ホストを含めない絶対パスの場合がありますが、絶対パスの方が一般的です。 2行目から空行までが request-header です。各行は field-name: field-value の形をしています。 field-name は大文字小文字を区別しません。 request-line から request-header とそれに続く空行まで、改行は CR LF になってます。Windowsでよく見る改行コードですね。 meth
Railsの各種サーバーの速度ベンチマーク: Pound、Varnish、Nginx、Unicorn、Mongrel RailsのアプリをPound、Varnish、Nginx、Unicorn、Mongrelを使用して動かした際の速度ベンチマーク。以下の構成での同一Railsアプリをhttperfでベンチマークした結果をまとめます。 Pound -> Varnish -> Nginx -> Unicorn * 2 Varnish -> Nginx -> Unicorn * 2 Nginx -> Unicorn * 2 Mongrel (Rails.env == 'development') node.js (Express + Socket.IO) 全体の構成Poundを80番ポートを公開し、Varnishを81番ポート、nginxを8080番ポート、Unicornの2プロセスをsocke
はじめに こんにちは、Python界の情弱です。いま「さくらのVPS 512」を借りてるんですが、プランが変更になって1Gが同じ料金で使えるようになりました。いまなら乗り換えると1ヶ月無料になるっていうんで、ちょろっと移行してみました。 「さくらのVPS」ご利用中のお客様の新プラン乗り換え優遇施策の実施について(4/5追記) | さくらインターネット ちなみに、今日から会社勤めとなった方々、おめでとうございます。とりあえずIT系に入って技術職するなら「さくらのVPS 1G」を1年分借りて、次のような本でLinuxサーバの管理なんかをしてみるのをおすすめします。rootがもらえるのでやりたい放題です。ハードウェアを買うわけではないので狭い家でも関係なくサーバの管理ができて、グローバルIPも取得できてWebアプリケーションも公開できます。「俺プログラマだから!」って人もLinuxの簡単な管理く
予定している機能を実現するアプリが完成するだけでWebサービスが成り立つわけではありません。 運用の最中にパフォーマンスにまつわる問題が出てくる可能性があります。 それは突然大きなトラフィックがやってきたというような時だけではありません。 知識が無いうちですと、いざ運用に乗せてみるとずいぶんとサイトの読み込みが遅いといったケースが発生することもあります。 僕はいくつかのエロサイトを管理しているのですが、 その中に月間700万PVのアクセスをいただいている「サイトA」があります。 サイトAの場合、トラフィックもそこまで無かった当初からパフォーマンスに関する問題がいくつか発生し、 その都度調べては実践で試して対策をしてきました。また、できる限り少ないリソースでの運用を目指しています。 今回はWebアプリのパーフォマンスアップ作戦として、 サイトAでの運用経験からのいくつかの方針やTipsを紹介
多くのクラウドサービスプロバイダは、クラウドの中身がどうなっているのかを明かしていません。データセンターの場所、物理サーバの台数や性能、ネットワーク構成、ストレージの種類、これらについてグーグルもAmazonもマイクロソフトも技術的詳細を秘密にしています。 アクセンチュアテクノロジーラボのHuan Liu氏は、自身のブログにポストした記事「Amazon data center size」で、その秘密の一端を推測。Amazonクラウド全体の物理サーバは45万4400台、7100ラックではないかと書いています。また、東京リージョンは物理サーバが2万台と推測しています。 Liu氏は推測の材料として、AmazonクラウドのIPアドレスの発行パターンに注目。ラックごとに特定のパターンでIPアドレスが発行されることを手がかりにして、ラック数とサーバ台数を推測しています。サーバ台数は、1ラック当たり64
Webサービスの運営用にVPSと呼ばれるバーチャル・プライベート・サーバを借りることは昨今よくあることだと思います。 VPSのサーバを借りればroot権限を持てることになるので、自由度が高いサーバ環境を構築することができます。 また、スペックによって価格が違っていて、低いスペックなものだと月額かなり低価格なものが存在します。 僕はその中でも月額980円のさくらVPSを借りていて、それを個人用に限って使っています。 これから紹介するような用途であれば980円でもかなりいけます。 ちなみに980円コースのスペックは2012年3月現在で以下のようなものです。 メモリ: 512MB HDD: 20GB CPU: 2Core(仮想) gitリモートレポジトリ 僕が現行で行っているWebサービスでもiPhoneアプリ開発でもバージョン管理は必要になってきて、 そのためのプライベートなレポジトリが欲しく
接続方法 memcashedのインストール済みのサーバ上で telnet localhost 11211 状態確認 stats (items:itemのstats情報を見るとき) データの取得 stats cachedump 1 10(何所から何所まで) keyを指定してデータを取得 get key keyを指定してデータを削除 timeを指定すると、削除後その時間が経つまで、addとreplaceで同じkeyを設定できなくする。 delete key time keyを指定してデータを設定 add key flags exptime bytes DATA flags 16bit unsigned integer exptime データの期限。指定した時間がたつとメモリから削除される。 bytes 設定するデータのbyte数。データ中の改行は含めるが、最後のデリミタの改行(\r\n)は含め
最近学科の友人3人とサーバ/セキュリティについての勉強会を週1で行っていて、毎回何か調べてくることになっており、今回は apache の設定について少し調べてきました。初心者がまとめたので間違っている部分があるかもしれませんが、勉強の役に立てて頂ければ幸いです。 httpd.confはどこにある? 最小限のhttpd.conf 3つのセクション セクション1: GlobalEnvironment セクション2: MainServerConfiguration セクション3: VirtualHosts モジュールの追加 外部設定ファイルの読込み サーバリソースの監視方法 httpd.confはどこにある? OSによって異なりますが、以下の階層に置いてある可能性が高いです。 CentOS、FedoraなどRed Hat系 /etc/httpd/conf/ SUSE系、MacOSX /etc/a
nginxとは? nginxはロシアで開発されている軽量で高速なWebサーバです。 現在シェアは 7% 近くあるようです。もちろんApacheに比べれば少ないですが、Apache 55%、IIS 25%, nginx 7%で3番目に使われているWebサーバになります。 昔は、Pound+Lighttpd+Apacheの組み合わせをよく使っていましたが、ここ数年はnginx+Apacheとかになりました。 主に、静的コンテンツをnginxが受け持ち、PHPなどの動的コンテンツはApacheに渡す形になります。Railsを使う場合は、nginx+Unicornの組み合わせが多いです。 いまさらな感じもありますが、インフラ周りの見直しも含めて紹介したいと思います。 静的コンテンツをnginxに任せる nginx+Apacheの場合の設定は次のようになります。(nginxがport 80、Apac
14:30 | Keep-Alive on / off に関する文献の多くが曖昧であることが気になっていたので、まとめてみました。Apacheのドキュメントから、Keep-Aliveの説明を拝借しますと、HTTP/1.0 の Keep-Alive 拡張と HTTP/1.1 の持続的接続の機能は、複数のリクエストが同じTCPの接続で送られる、長時間持続する HTTP セッションを提供します。つまり、Keep-Aliveは、『TCP 3ウェイハンドシェイクの節約』であるという点を理解しなければなりません。たいていの文献は『画像やCSSが多いサイトでは、接続を使い回すことにより無駄遣いをなくす』という説明をしていますが、この接続を使い回すという表現も曖昧な気がします。何となく分かった気になってしまう人も多いのではないでしょうか。それでは、まずは以下のようなhttpd.confで、Apacheの動
ロードアベレージ通知するだけなら負荷監視ツールを入れるより、PHP なりで書くほうが楽で簡単とのことで友達に教えてもらいましたので、ひとつ書いてみました。以下のコードを loadave.php など適当な名前で保存して cron で定期実行すれば良いです。 <?php mb_language("ja"); mb_internal_encoding("UTF-8"); date_default_timezone_set('Asia/Tokyo'); $servername = 'localhost '; // サーバー名(任意) $mail1 = 'info@example.com'; // 通知先1 $mail2 = 'alert@example.com'; // 通知先2 $notice1 = '3.00'; // 通知ライン1 $notice2 = '5.00'; // 通知ライン2
同人誌などをネットで購入できる「とらのあな」のWeb通販サイト。そのシステム構築事例を、DBエンジンとして採用されたサイベースが紹介している。 同人誌などをネットで購入できる「とらのあな」のWeb通販サイト。年間120万件を発送するというシステムの構築事例を、データベース(DB)エンジンとして採用されたサイベースが紹介している。 とらのあなのECサイトは100万人超の会員を抱え、1日のページビュー(PV)は1200万に上るという。このほどシステムをSybase Adaptive Server Enterprise(ASE)15を採用して刷新。ユーザーが利用するWebサーバと連携するWeb専用のDBサーバと、商品DBサーバ、注文管理サーバ、集荷管理サーバなど18のDBサーバをSybase ASE 15で構築した。 システムの構築・運営は「あまなつ」が担当。Webサーバで受けた注文情報は広域V
こちらのエントリーが大変参考になったので、僕らが作ってる怖話.jp(kowabana.jp)のシステム構成や開発方法についても公開していこうと思います。 怖話.jpはスマホ向けWebサービスなのでPC向けとはPVとかの傾向がちょっと違うかも知れません。 怖話.jpとは スマホで17,000話以上のサウンドノベル風の怖い話が閲覧・投稿できるサイト(アプリではありません)です。詳しくは下記エントリーを参照してください。 スマホでサウンドノベル風怖い話投稿サイト | FJORD, LLC(合同会社フィヨルド) 7月16日にRubyKaigi2011に合わせて無理矢理ベータテストオープンして、8月9日に正式オープンしましたので正式オープンからは1ヶ月経ってないまだまだのサイトです。開発期間は約1ヶ月ぐらいです。 サイト情報 (これAnalyticsを直接貼るのはどうやればいいんだろう?) 直近一ヶ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く