タグ

負荷分散に関するpuchibanのブックマーク (14)

  • mod_rewrite を利用したリバースプロキシ環境の作り方 - livedoor Blog(ブログ)

    こんにちは、 最近愛用のMacbookが外観も中身もボロボロになってきて悲しいkyannyです。 ライブドアでは、画像やCSSファイルやjavascriptファイルなどの静的なコンテンツを配信するウェブサーバとウェブアプリケーション体が稼働するアプリケーションサーバを別々のホストで運用する、いわゆるリバースプロキシ環境を構築しています。今回は、このリバースプロキシ環境の作り方を解説します。 リバースプロキシとは リバースプロキシとはプロキシサーバの一種で、クライアントに対してファイアウォールの中にあり外部のネットワークから直接アクセスできないサーバへのアクセスを提供する機能です。これ以外にも、複数のバックエンドサーバを用意して負荷分散をしたり、プロキシサーバでキャッシュを併用することでバックエンドサーバへのリクエストを減らしたりと、様々なシーンで活用できるため、大規模なウェブサイトを構築

  • Kazuho@Cybozu Labs: MySQL のボトルネックを統計的に監視・解析する方法

    MySQL のチューニング、と言った場合には、サーバーパラメータの調整や EXPLAIN コマンドを利用したクエリ実行計画の最適化が話題に上ることが多いです。しかし、発行する全ての SQL について、いちいち EXPLAIN コマンドを使って確認していては、いくら時間があってもたりません。チューニングを効率的に進めるには、まず、ボトルネックとなっている SQL クエリを特定し、次にその最適化を行うべきです。 ではどのようにして、ボトルネックを特定するのか。MySQL Conference & Expo 2009 のキーノートにおいて Mark Callaghan 氏は、Google では SHOW PROCESSLIST コマンドを使った統計的アプローチを使っていると述べていらっしゃいます (参照: MySQLConf 09: Mark Callaghan, "This is Not a

  • ウノウラボ Unoh Labs: 国産MySQLストレージエンジン「Spider」の作者、斯波健徳氏に聞く

    こんにちは。中村です。 MySQLにはMyISAM、InnoDBCSVなどのいくつかストレージエンジンがありますが、皆さんはSpiderというストレージエンジンを聞いたことはありますでしょうか。Spider Storage Engineは斯波健徳さんにより作成されたDatabase Shardingを可能にするストレージエンジンでMySQL 5.1で利用可能です。 先日、某集まりで斯波さんとお会いしたときにSpiderを作っているということを教えてもらったので、早速詳しい内容を教えてもらうことにしました。 ※Spiderについての説明資料はMySQLカンファレンス 2009にて斯波さんが発表されたときのスライドがあります。スライドの直リンク(zip) Spider Storage Engine について posted by (C)フォト蔵 Spider Storage Engineとは?

    puchiban
    puchiban 2009/07/17
    これすごいんじゃ?
  • [MySQLウォッチ]第40回 パーティショニングで高速化し大量データに備える

    大量のデータを1つのテーブルに格納すると何かと不便となる。処理対象が大量だけに検索をはじめとして処理時間が大きくなる。現実の生活は、手に余る大量の物を小分けにするというテクニックをよく使う。データベースでもこの手法は有効である。大量データを小分けにすることで、処理の高速化と格納効率を向上することが可能である。今回は、MySQL 5.1の新機能の筆頭に上がっているパーティショニングを解説する。 MySQL 5.1の注目機能パーティショニングとは パーティショニングとは、テーブルを分割して性能を向上させるための技術だ。MySQL 5.0でもテーブルの分割機能はあった。複数のテーブルを連結して1つのテーブルに見せかけるMARGEストレージエンジン(テーブル)、SELECTステートメントを結合するUNIONなどがある。これらの機能は、もともと別々のテーブルを結合して処理する後処理的な位置づけになる

    [MySQLウォッチ]第40回 パーティショニングで高速化し大量データに備える
  • 満足せる豚。眠たげなポチ。:大規模サービスの運用事例まとめ

    ここ数年の大規模サービスのシステム運用について調べてみたので参照したページやファイル、へのリンクをまとめておく。PDF へのリンクも多数含まれているのでご注意を。 時代が時代なら企業のノウハウとして隠されていたような情報がこれだけ公開してもらえているというのが非常にありがたい。公開してくれている各企業や公開してくれている人に感謝。 あとで気付いたが、Google や Facebook の事例も探しておけばよかった。Thrift とかあったのに。「こんな情報もあったよ」などあればぜひ教えてください。追記していきます。 youtube http://d.hatena.ne.jp/stanaka/20070427/1177651323 digg http://d.hatena.ne.jp/stanaka/20070427/1177651323 livedoor http://labs.cybo

  • Hadoopで、かんたん分散処理 (Yahoo! JAPAN Tech Blog)

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、地域サービス事業部の吉田一星です。 今回は、Hadoopについて、Yahoo! JAPANでの実際の使用例を交えながら書きたいと思います。Hadoopとは、大量のデータを手軽に複数のマシンに分散して処理できるオープンソースのプラットフォームです。 複数のマシンへの分散処理は、プロセス間通信や、障害時への対応などを考えなければならず、プログラマにとって敷居が高いものですが、 Hadoopはそういった面倒くさい分散処理を一手に引き受けてくれます。 1台では処理にかなり時間がかかるような大量のデータも、複数マシンに分散させることで、驚くべきスピードで処理を行うことができます。 例えば、今まで1台でやっていた、あるログ集計処理

    Hadoopで、かんたん分散処理 (Yahoo! JAPAN Tech Blog)
  • MySQLレプリケーションを安全に利用するための10のテクニック

    MySQLのレプリケーションは非常に簡単に使える割には応用の幅が広いので非常に人気のある機能の一つである。レプリケーションの応用分野は例えば、 バックアップ 参照系の負荷分散 HA(高可用性) ディザスタリカバリ(サイト間レプリケーション) BI(レポーティングetc) という風にとても多くのバリエーションがある。このブログを読んで頂いている皆さんの中にもレプリケーションを使っている方は多いのではないだろうか。ご覧の通りMySQLのレプリケーション機能はミッションクリティカル分野でも利用されているが、レプリケーションの使い方が適切でないとシステムの安定稼働に支障を来してしまってDBAやシステム管理者の肉体的、精神的負担が増大してしまう。逆にレプリケーションを堅牢に運用することが出来ればマクラを高くして眠れるというものだ。レプリケーションはMySQLの代表的な機能であるので、レプリケーション

    MySQLレプリケーションを安全に利用するための10のテクニック
  • Yahoo!オークションでのMySQL 冗長化技術

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちはオークション事業部プラットホーム技術のチャックです。 オークションでは一部サービスに RDBMSMySQL を使ってサービスをご提供させていただいております。 オークションでは多くのお客様よりアクセスを頂いておりますので、大量の更新、参照の処理速度に優れた MySQL を選択し、お客様にストレスなくサービスをご利用いただけるよう 日々業務に取り組まさせていただいております。 しかし、精密機器には故障がつきもので、サービス運用の観点からは 「機器が故障するのはしかたない、しかしそれをいかに早く復旧させるか」 といったことを念頭に入れております。 実際には、障害が起こってから復旧させるのではなく、障害が発生した場合に

    Yahoo!オークションでのMySQL 冗長化技術
  • LVS+ldirectorを使ってMySQLをロードバランスをしてみる - sanonosa システム管理コラム集

    今回はLVSを使ってMySQLのslaveサーバをロードバランシングする方法を記してみます。LVSは単に振り分けしかやってくれませんので、リアルサーバの生存確認やLVSの作動管理のためにldirectorも導入しています。 LVSだけだとLVSの設定を入れ込まなければなりませんが、ldirectorを使うとldirectorの設定ファイルに書いておくことでLVSの設定をldirectorが自動生成して反映してくれるので楽ちんです。 ※世の中にはLVS+keepalivedの組み合わせが多いようですが、検証してみたところldirectorのほうが導入も運用も簡単なのでこちらを採用しました。 前提条件 VIP: 10.0.2.10 DB1: 10.0.0.101 DB2: 10.0.0.102 ロードバランサーとなるサーバへのインストール方法 【インストール】 # yum install ip

    LVS+ldirectorを使ってMySQLをロードバランスをしてみる - sanonosa システム管理コラム集
  • mixiの生みの親“バタラ氏”が語るMySQLの意外な利用法 - TechTargetジャパン

    日記だけで4億件のデータ ミクシィが運営するSNS「mixi」は、2007年7月末段階でユーザー数が1110万人。人が12人集まれば、1人はmixiユーザーというわけだ。ユーザーのアクティブ率(ログイン間隔が3日以内)は約62%と高く、2007年4月から6月の月間平均ページビューは117.5億に達した。日記だけでも4億件以上に上るなど、蓄積するデータ量も莫大。2004年3月のサービス開始から、わずか3年半で現在の巨大コミュニティーへと発展したのだ。 ミクシィは、「LAMP(OSのLinux、WebサーバのApache、DBMSのMySQL、開発言語のPerlPHPPython)」と呼ばれるWebシステム向けの標準的なオープンソースソフトウェア(以下、OSS)でシステムを自社開発し、安価なPCサーバを1000台以上連ねる超分散構成でmixiのサービスを支えている(広告配信など周辺機能では

    mixiの生みの親“バタラ氏”が語るMySQLの意外な利用法 - TechTargetジャパン
  • naoyaのはてなダイアリー - MySQL の負荷分散に LVS + keepalived を使う

    あとで書く、と言った手前なので書くとします。 DSASの中の人がすごい勢いで LVS の話を書いてくれてます。この辺。LVS を使うと Linux と箱でロードバランサが作れちゃいます。普通に買ったら数百万とかしちゃうやつ。 DSAS の中のひとに感謝しつつ、いい機会なのでやってみよう! と思っていろいろ試して昨日あたりからはてなの中でも LVS + keepalived で動かしはじめてます。いまのところ問題なし。 そのロードバランサをどこに使ってるかですが、普通ロードバランサというとインターネットからの入り口のところに置いてウェブサーバーの負荷分散に使うイメージがあります。が、今回ははてなでは MySQL のスレーブの手前に置くという役割でとりあえず使いはじめました。 +-----------+ +-----------+ | mod_perl | | mod_perl | +----

    naoyaのはてなダイアリー - MySQL の負荷分散に LVS + keepalived を使う
  • 1人で稼ぐ日記 | MySQL:1台しかない環境でエセ負荷分散

    MySQLのネタ。 1台しかない環境でエセ負荷分散を行う。 MySQLで負荷分散を考えたとき、 1台目にマスターのDBサーバー、 2台目以降をスレーブのDBサーバーとして用いる。 マスターは更新系のみのSQL文を、 スレーブは参照系のみのSQL文を投げる。 こんな負荷分散を1台のサーバーで行う必要が出てきた。 現在1台でやっていて、ディスクIOが追いつかずに捜し求めた結果、下の形で落ち着いた。 1つのテーブルでインデックスを含めたサイズが 30MB〜100MBほどで安定している、という条件があるのですが かなり負荷下がります。 ※上記サイズは搭載メモリサイズによって変わります -------------------------- ■やりかた 負荷が高いテーブルをAとする 1:Aと同じテーブル構成で、エンジンをMEMORY(he

  • MySQL負荷分散のまとめ - Life on the net

    はてぶで人気エントリーになっていた、 http://kokoromo.jugem.cc/?eid=195 [MySQL:1台しかない環境で負荷分散] これは負荷分散=スケールアウトというよりは一台でスケールアップしてしのぐ手段を書いてい。 だから負荷分散という言葉は必ずしも正しくないのだが、一つのテーブルへの付加集中を分散させるという事なのだろう。 そこで何パターンかあるMySQLの負荷分散を簡単にまとめてみる。 1. 富豪的分散 商用のクラスター製品を使う。 最近はMySQL専門のクラスター製品が出てきている。 http://www.continuent.jp/pro.html なんかは良いかなと思う。 長所: プログラム側ではクラスタ状態を何の意識もせず、一つのターゲットに対してクエリーを発行すれば良い。 ターゲットが複数台ある事は意識する事は無い。 不具合があるノードに生じた場合、他

    MySQL負荷分散のまとめ - Life on the net
  • Milano::Monolog: mod_rewriteでサーバーの負荷が高いときだけリダイレクトする

    mod_rewriteでサーバーの負荷が高いときだけリダイレクトする ワタシが働いている会社のホームページは、たまーにYahooのトピックスからリンクされます。 トピックスに載るとそれはもう大量のアクセスが津波のように押し寄せてきて、あっというまにサーバーのリソースをいつぶしてアクセス不能になってしまいます。 こういうときのために、Contents Delivery Networkによるキャッシングも利用してます。 今までは、リンクされそうになったらmod_rewriteでリダイレクトって方法を使っていました。 でも毎回これをやるのが面倒になってきたので、なんとかならんかなーと思って、RewriteMapに初挑戦してみた。 RewriteMap使えばRewriteCondとかRewriteRuleにプログラムの出力結果を使うことが出来るようになるので、これでWebサーバーのロードアベレー

    Milano::Monolog: mod_rewriteでサーバーの負荷が高いときだけリダイレクトする
  • 1