performanceに関するflakwingのブックマーク (201)

  • 信じられないDB文化「固定長DB」でもあうんです。大規模コンシューマ向けサービスのRDB設計 - レベルエンター山本大のブログ

    ずいぶん時間があいてしまったけど、大規模コンシューマ向けサービスRDB設計の続き。 僕はこのプロジェクトを自分のRDBの知識を使って革新してやろうと思って臨んだ。 しかし結果として逆に、コンシューマ向けサービスに最適化されたRDBの使い方について教わることになった。 ※ あと、KVSでいいじゃんって言ってる人もいるけど、それはKVS導入の苦労を知らない人だと思う。KVSの苦労は後で書く。 僕らが最近手がけているのは、とても大規模なコンシューマ向けサービスだ。 100万人の契約ユーザが使い、1テーブルに1億レコード以上のデータを貯め、24時間止めることが許されず、 要求から応答までのターンアラウンドタイムが1秒以内という厳しいSLAのサービスである。 中でも僕はDBやフレームワークの設計とアーキテクトっぽいことを担当している。 僕がこの現場に来て、驚愕した文化が2つある それは「Join禁止

    信じられないDB文化「固定長DB」でもあうんです。大規模コンシューマ向けサービスのRDB設計 - レベルエンター山本大のブログ
  • DBサーバーの負荷分散

    MySQLアクセスを負荷分散する ユーザーからのアクセス数が非常に多いWebサイトにおいて、MySQLのSLAVEサーバーを複数台並べて負荷分散させるということがよく行われています。ただ、Webアクセスの負荷分散は一般的なテーマなのでいろいろなところで語られているのに対し、DBアクセスの負荷分散というテーマは一般的でないのかあまり語られていないように感じます。 DBアクセスを負荷分散するにあたって一番荒っぽい方法は、Webサーバー上のプログラムの中でどのSLAVEサーバーに接続するかをランダムで決める方法です。ランダムと言っても長時間アクセスしているとほぼ接続先が均等化されるので、一見この方法でも問題ないように見えます。しかしこの方法だと、接続しに行こうとしたSLAVEサーバーが高負荷もしくはサービス停止中であっても構わず接続しに行ってしまうという問題があります。 このような問題を解決する

  • データベースアプリケーションのパフォーマンスにおける7つの大罪

    パフォーマンス分析は一筋縄ではいかないことが多いのですが、それは可変要素が非常に多く、ハードウェアの特性、ワークロード、物理的データベース設計、およびアプリケーション設計など、あらゆる要素を検討する必要があり、またこれらの要素の間にトレードオフや副作用が存在するからです。これが正解、と言えるものが見つからないのが普通です。 少し前、SQL AnywhereのコンサルタントであるBreck Carterが、「How to Make SQL Anywhere Slow(SQL Anywhereを遅くする方法)」という記事を書きました。これは今までに読んだ記事のなかでも最大のお気に入りの1つです。Breckはこの記事の中で、パフォーマンスの低下につながる38の異なるデータベース設計、アプリケーション設計、およびサーバ構成設定を列挙しています。この記事を受けて、今後しばらくは「データベースアプリケ

    データベースアプリケーションのパフォーマンスにおける7つの大罪
  • チューニンガソンで優勝してきました : DSAS開発者の部屋

    7/9(土)にチューニンガソン というイベントに参加して優勝してきたので、その報告と、何を考えてどんなチューニングをしたのかを 記憶の範囲で公開したいと思います。 今回のチューニンガソンのお題は、WordPress(ja) + php + Apache + MySQL で、 ab を使って wp-comment.php 経由でコメントのポストをすることで計測が行われました。 MySQLとApacheを立ち上げたらWordPressが動く環境が渡され、そのWordPress自体は設定ファイルを含めて 改造が一切禁止、WordPressの実行をショートカットするチートも禁止です。 0. 試合前日 環境がAWSとAMI Linuxということは事前に公開されていたため、前日にAWSに登録して少しだけAMI Linuxを 触ってみました。yumベースだけどCentOSと違って結構新しいバージョンが用

    チューニンガソンで優勝してきました : DSAS開発者の部屋
  • 高負荷サイトのボトルネックを見つけるには : DSAS開発者の部屋

    はじめに アクセスが急増すると、応答時間が著しく悪化するサイトはありませんか? 普段は200ミリ秒以内で安定してアクセスをさばいているのに、イベントやらキャンペーンやらを開始した瞬間から、普段の2倍や3倍のアクセスが殺到し、その結果、レスポンスタイムが3秒とか9秒とかかかるようになってしまうことってありますよね。 あるサイトの実状 つい先日まで、そんなサイトが私の目の前にもありました。自社で運営している某ソーシャル系のサイトなんですが、イベント開始時刻と同時にアクセス数が急増するのです。とはいえ、所詮は普段の2倍とか3倍程度の数なのだから、少なくとも1秒以内にレスポンスを返せるくらいの性能は維持したいものです。 しかし実際は困ったことに、応答に3秒以上もかかってしまう処理が大量に発生してしまう状況に陥ってしまっていました。これはきっと、どこかにボトルネックがあるに違いありません。 仮説を立

    高負荷サイトのボトルネックを見つけるには : DSAS開発者の部屋
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

  • データベースのスケーラビリティをどうやって向上させるか

    これまでPublickeyではデータベースのスケーラビリティに関するさまざまなトピックを取り上げてきました。クラウド時代にはスケーラブルなデータベースのニーズがこれまでになく高まっているためです。 この記事では、これまで取り上げてきたデータベースのスケーラビリティに関する技術を少しまとめて紹介しようと思います。 従来のリレーショナルを拡張 従来のリレーショナルデータベースに対して、技術的工夫を凝らすことでスケーラブルなデータベースを実現しようというアプローチにも、さまざまなものがあります。 データベース研究者の大御所、マイケル・ストーンブレイカー氏は、リレーショナルデータベースは決して遅くないと主張。リレーショナルデータベースが遅い原因はロック、ラッチ、リソース管理にあるとして、それらを極力排除した「VoltDB」を開発しています。 NoSQLを上回る性能のVoltDB、そのアーキテクチャ

    データベースのスケーラビリティをどうやって向上させるか
  • ウェブページの高速化のために読んでおきたいサイトのまとめ

    ユーザビリティの改善や検索エンジン対策としてウェブページの読み込みスピードの高速化は非常に重要です。ということで、ページの読み込みスピード向上のために役立つサイトをまとめてみます。 ページ読込速度の重要性 次の事例にあるように、ユーザーは表示速度に敏感です。 Googleによるとページの読み込みが0.5秒遅くなると、検索数が20%減少する Amazonによるとページの読み込みが0.1秒遅くなると、売り上げが1%減少する そして、Googleのアルゴリズムにウェブページの読み込み速度が追加されて以降、サイトの高速化への注目度は高まっています。 Google、ウェブページの読み込み速度をアルゴリズムに取り入れたことを発表 | 海外SEO情報ブログ Googleがついに順位決定に表示速度を使い始めた(公式発表) | Web担当者Forum Google、検索順位にページ読込速度の考慮を開始 [詳

    ウェブページの高速化のために読んでおきたいサイトのまとめ
  • 君は3つのリロードを知っているか? - os0x.blog

    はい、今さら聞けないウェブ開発者の基礎知識のお時間です。 ブラウザには3つの読み込みモードがあることはご存知ですか? 2つくらいはわかるけど、3つ目が出てこないって方は少なくないかもしれません。 リロード 一番オーソドックスなのがブラウザのリロードボタンを押したときの挙動ですね。普通ですね。 スーパーリロード ブラウザによっては、スーパーリロードという機能を備えています。IEの場合Ctrl+F5(Ctrl+更新ボタン)、Firefoxの場合Ctrl+F5(Shift+更新ボタン)、Chromeの場合Shift+更新ボタン(Ctrl+Shift+R)などでスーパーリロードを呼び出すことができます。スーパーですね。 ページ遷移(リフレッシュ) 3つ目はちょっと良い名前が思いつかないのですが、リロードではなく、通常の画面遷移での読み込みのことです。アドレスバーにフォーカスしてenterするといっ

    君は3つのリロードを知っているか? - os0x.blog
  • どや!?ひよっこデザイナーにもできるWebページ高速化!鍵は「HTTPリクエストの数を減らすこと」 | デザインどや!?

    Webページレイアウト、ナビゲーションプラグイン、フォーム、スライダー&カルーセルプラグイン、チャート&グラフプラグイン、イメージエフェクトプラグイン、ビデオプラグインなど。チェックしておきたいです。海外カジノ オンラインサイトの制作はワードプレスのプラグインを利用して様々な機能を付け加えて完成させることができます。2012年のjQueryプラグインまとめでは、デザインの一新や個別のカスタムにも対応した国際的で魅力的なサイト作成に役立つ情報を紹介しています。

  • HugeDomains.com

    Captcha security check matomematome.com is for sale Please prove you're not a robot View Price Processing

    HugeDomains.com
  • 最終回 治療としてのパフォーマンスチューニング―システムの病気はどう治す?(2) | gihyo.jp

    sar(メモリ含む全般⁠)⁠、cat /proc/meminfo(メモリ、Linux系OSのみ⁠)⁠、mpstat(CPU⁠)⁠、iostat(Disk I/O⁠)⁠、netstat(ネットワーク) これらのコマンドを利用することで、5秒や10秒など、パラメータで指定した間隔でのリソース使用状況をモニタして、ログへ出力できます[2]⁠。ボトルネックとなっている処理が実行されている状態でモニタリングを行うことで、その処理がどのリソースを最も激しく消費しているかを突き止められるわけです。 また、リソースのモニタリングは「① 遅延個所の調査」と同じタイミングで行うことが一般的です。稿では解説をわかりやすくするため2つのステップに分けていますが、実際には裏でモニタしながら処理を実測したほうが、二度手間にならず時間を節約できます。 データベースの鉄則遅延個所の切り分けとリソースのモニタは一緒にやる

    最終回 治療としてのパフォーマンスチューニング―システムの病気はどう治す?(2) | gihyo.jp
  • ソーシャルゲーム開発者なら知っておきたい MySQL INDEX + EXPLAIN入門|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

    ソーシャルゲーム開発者なら知っておきたい MySQL INDEX + EXPLAIN入門 広く浅くを担当してます、ota です。 技術ブログ第一回から早速流用スライドで申し訳ありませんが、社内勉強会資料として作成した「MySQL INDEX + EXPLAIN入門」です。 当社でもソーシャルゲームの開発を行っていますが、このような大量のデータを使用する・クエリの速度が求められる場合にインデックスは大変重要です。 インデックスの有効な利用にはDB設計者だけではなくプログラマにもある程度の知識が最低限必要となりますが、インデックスについての初心者向け資料があまりないようです。 このスライドではプログラマに知っておいて欲しい以下の基的な点をまとめました。 INDEXを使用する時に気をつけること WHERE句 !=、<>はインデックスが使用できない WHERE句の全てのANDにかかっていないイン

    ソーシャルゲーム開発者なら知っておきたい MySQL INDEX + EXPLAIN入門|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
  • 負荷試験ツール「インターネット破壊」を公開しました : DSAS開発者の部屋

    負荷試験ツール インターネット破壊を公開しました。 こちらはずっと社内で負荷試験に使用していたツールです。社内で使用していたものなので、ソーシャルアプリ向けの機能などが多少追加されていますが、もちろんんそれ以外のWebアプリケーションでも使用できます。 基的にはApache JMeterのようなWebアプリケーションむけのシナリオ負荷試験ツールです。コマンドラインオペレーションだけで実行でき、サーバー上で簡単に負荷試験を実施できるのが特徴です。POSTリクエストなどはもちろん、レスポンスのチェックやUserAgentの偽装、ランダムな値をパラメーターにセットする機能も実装しています。 注意: 当然ながら自分の管理下にないサイトに向けて負荷試験ツールを実行するのは絶対にやめてください。非常に危険です。 物騒な名前がついていますが、これは完全にわたしの小児的感性の趣味によるところです。地震で

    負荷試験ツール「インターネット破壊」を公開しました : DSAS開発者の部屋
  • Javaパフォーマンス計測 文字列操作編 - プログラマーの脳みそ

    前回でパフォーマンス計測に用いるタイマーについての理解を深めたので、やっとパフォーマンスの計測を始めることができる。 今回のテーマはJavaの文字列連結だ。タイムリーだね。 文字列連結についての基礎知識 Javaの文字列連結についての言語仕様まわりは Stringの連結はそう簡単なものではない - じゅんいち☆かとうの技術日誌 が詳しい。しかし、パフォーマンス計測がなっちゃない。パフォーマンスの計測はそう簡単なものではない。 currentTimeMillis()で計測しておいて plusTime:14780, concatTime:7053, sbuilderTime:7, sbufferTime:13 とか、その7とか13の有効数字はいくつだっての*1。 そんなわけで、計測方法を工夫してみよう。二重ループとし、内側を1000回、それを500回繰り返す。ループが1回まわる間に1回ずつSy

    Javaパフォーマンス計測 文字列操作編 - プログラマーの脳みそ
  • 遅延(レイテンシ)とはなにか? - はてなポイント3万を使い切るまで死なない日記

    インターネットでデータを送るときには、あたりまえだが、必ずいくらかの時間がかかる。これを遅延(latency)という。 よくインターネットのサービスで独自の技術により低い遅延(low latency)を実現したとかいう記事がでる。これがなにを意味するか、ネットワーク技術が専門のはずのIT企業の社員でも、全然わかってないひとが多い。 というわけで今回はインターネットでの遅延についてよくある誤解を紹介して、当はいったいなんなのかということを説明しようと思う。 まず、よくサイトが重いとか、インターネットがめちゃくちゃ遅いというのと遅延が高いというのとは質的には別の現象なんだが、よく混同されている。もちろんインターネットが遅くなっている場合には結果的に遅延も大きくなっていたりする。しかし、サイトが重くなったり、インターネットが遅くなっている当の理由は、だいたいサーバの処理が追いついていないか

    遅延(レイテンシ)とはなにか? - はてなポイント3万を使い切るまで死なない日記
  • Windows XPの起動時の長いディスクアクセスは、Windows Updateの履歴が溜まりすぎていたせいだった?! - 全力HP

  • とあるアプリの開発運用(トラブルシュート)

    SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014Nov Matake

    とあるアプリの開発運用(トラブルシュート)
  • ソーシャルゲームのためのMySQL入門 | BLOG - DeNA Engineering

    こんにちはこんにちは。最近お腹痛いばっかり言ってることで有名なiwanagaです。 DeNAは外部的にはプラットフォーム的な部分の方がフィーチャーされることが多いですが、実はソーシャルゲームの提供も行っています。怪盗ロワイヤルとか、どこかで聞いたことがあるのではないでしょうか。 僕はDeNAでソーシャルゲームが誕生した辺りからずっとサーバサイドを見てきましたが、そんな運用の中で自分が貯めてきた知見とかTIPSをご紹介したいと思います。 かれこれ10タイトル近くはレビューしたり運用したりしてるため結構言いたいことはいっぱいあるので、小出しにしつつ評判よければ次も書きます。 ソーシャルゲームのためのMySQL入門一覧 ソーシャルゲームのためのMySQL入門 - Technology of DeNA ソーシャルゲームのためのMySQL入門2 - Technology of DeNA 「MySQL

    ソーシャルゲームのためのMySQL入門 | BLOG - DeNA Engineering
  • パフォーマンス改善やセキュリティに役立つ.htaccessの設定 | コリス

    ウェブサイトのパフォーマンスの改善やSEOセキュリティに役立つ.htaccessの設定を紹介します。 17 Useful Htaccess Tricks and Tips 備考:Apache チュートリアル: .htaccess ファイル、Apache コア機能 [ad#ad-2] .htaccessの設定:パフォーマンスやSEO関連 .htaccessの設定:セキュリティ関連 .htaccessの設定:パフォーマンスやSEO関連 .htaccessでタイムゾーンを設定 .htaccessでタイムゾーンを設定します。 例:東京 SetEnv TZ JST-9 もしくは、 SetEnv TZ Asia/Tokyo .htaccessで301リダイレクトを設定 .htaccessで301リダイレクト(永続的なリダイレクト)を設定します。 例:旧ファイル(old.html)、新ファイル(new