タグ

performanceとPerformanceに関するkesnkeのブックマーク (22)

  • MySQL 5.5をわずか30秒足らずでコンパイルするためのテクニック

    べっ・・・別にソースコードなんて自分でコンパイルしないんだからねッ!!などと言わずにまず聞いていただきたい。30秒でMySQLのコンパイルが出来るというこの事実を。最近、細々とビルド時間の短縮に取り組んでいたのだが、正直ここまで爆速になるとは思わなかった。今日はビルド時間短縮のためのテクニックを紹介するので、是非皆さんも参考にして、快適ビルド生活を送って頂きたい!! 自己ベストは26.262秒マシンの状態や負荷の状況によって多少ビルドにかかる時間は前後してしまうのだが、これまでの自己ベストはなんと26.262秒。平均すると30秒ぐらい。以前は1分を切ることがなかったのだが、今ではなんとその半分でビルドが出来てしまう。これは純粋にmakeをするのにかかった時間であり、cmake(MySQL 5.5以降)やconfigure(MySQL 5.1以前)にかかる時間は除いてある。だがそれでも速い。

    MySQL 5.5をわずか30秒足らずでコンパイルするためのテクニック
  • なぜTwitterは低遅延のままスケールできたのか 秒間120万つぶやきを処理、Twitterシステムの“今” − @IT

    ユーザー同士のつながりを元に時系列に140文字のメッセージを20個ほど表示する――。Twitterのサービスは、文字にしてしまうと実にシンプルだが、背後には非常に大きな技術的チャレンジが横たわっている。つぶやき数は月間10億件を突破、Twitterを流れるメッセージ数は秒間120万にも達し、ユーザー同士のつながりを表すソーシャル・グラフですらメモリに載る量を超えている。途方もないスケールのデータをつないでいるにも関わらず、0.1秒以下でWebページの表示を完了させなければならない。そのために各データストレージは1~5ms程度で応答しなければならない。 Twitterのリスト機能の実装でプロジェクトリーダーを務めたこともあるNick Kallen氏が来日し、2010年4月19日から2日間の予定で開催中の「QCon Tokyo 2010」で基調講演を行った。「Data Architecture

  • 貧乏だってプロファイリングは出来る!! - poor man's profiler

    従来より、プロファイリングのためのソフトウェアと言えば高価なものが中心であった。もっと安く、お金を掛けずに、簡単に、早くプログラムのボトルネックを探し出す方法はないのか?!ということで編み出されたプロファイリングテクノロジーがある。その名も、「poor man's profiler」だ。 poor man's profilerの全容は、次のページで知ることが出来る。 Poor Man's Profiler http://poormansprofiler.org/ poor man's profilerは、現Facebook(元MySQL ABのサポートエンジニア)のDomas Mituzasによって開発されたプロファイリングテクノロジーである。以下が、その全ソースコードである。 #!/bin/bash nsamples=1 sleeptime=0 pid=$(pidof mysqld) f

    貧乏だってプロファイリングは出来る!! - poor man's profiler
  • YappoLogs: トランザクションを使用したMySQLのおまとめINSERTはどれくらい速いか

    トランザクションを使用したMySQLのおまとめINSERTはどれくらい速いか 元ネタはMySQL のおまとめINSERTはどれくらい速いか - bonar noteです。 トランザクションでまとめてInsertしてからcommitしたほうが速くなるので、元ネタのベンチマークをベースにして試してみました。 環境は macports で入れた mysql 5.1.44 です。 まぁnormalからbulk(100)くらいの差は出てなくても、トランザクション使ってまとめてコミットしても多少速くなっとりますね。 normal と txn の差よりも bulk(100) と bulk(100)_txn の差が小さいのは、 bulk insert で最初から効率的になってるぶん差が少なくなってるという感じでしょうか。 コードは以下の通り。 Posted by Yappo at 2010年03月09日

  • Twitterのクジラ解剖学、あるいは彼らがいかにサーバの処理能力を向上させたか

    Twitterを利用していると、ときどきクジラの絵の画面が表示されることがあります。これはTwitterの処理能力がパンクして一時的に利用不可になったときに表示されるお馴染みの画面。 2月9日にTwitter Engineeringブログにポストされたエントリ「The Anatomy of a Whale」(クジラの解剖学)では、Twitterエンジニアたちがこのクジラの内部に分け入ってどのようにTwitterサーバの処理能力を向上させたのか、という話が詳しく語られています。 彼らが行ったのは、まず詳細なデータを取得して原因がどの辺にあるのかを推測すること。そこから多数の無駄な処理を発見し、ソースコードの修正による性能の向上に成功します。 元記事は非常に長いエントリになっていますが、問題の調査から解決に至るアプローチについて多くのエンジニアの方の参考になりそうな内容が含まれていますし、T

    Twitterのクジラ解剖学、あるいは彼らがいかにサーバの処理能力を向上させたか
  • データベース負荷テストツールまとめ(3) - SH2の日記

    データベース負荷テストツールまとめの第3回です。 データベース負荷テストツールまとめ(1) TPC-B、TPC-Wベースのツールを6つ紹介 データベース負荷テストツールまとめ(2) TPC-Cベースのツールを6つ紹介 かなり期間が空いてしまいましたが、今回はTPC-Hベースのツールを見ていきたいと思います。 TPC-Hとは TPC-HはRDBMSベンチマーク仕様の一つで、意思決定支援システム(DSS)としての性能を測定するものです。大規模なデータを対象にアドホックなクエリを実行します。クエリは全部で22種類定義されています。 TPC-HはTPC-B/W/Cなどと異なり、実行するクエリそのものやテストデータ生成ツールがTPCから提供されています。試しに、一番負荷が高い9番のクエリを確認してみましょう。 -- $ID$ -- TPC-H/TPC-R Product Type Profit Me

    データベース負荷テストツールまとめ(3) - SH2の日記
  • KOF2009「ウェブサービスのパフォーマンスとスケーラビリティ」 - stanaka's blog

    KOF2009にて、「ウェブサービスのパフォーマンスとスケーラビリティ」と題して発表してきました。発表資料を以下に置いておきます。 Performance and Scalability of Web ServiceView more presentations from Shinji Tanaka. 概要は、「ウェブサービスのパフォーマンスを向上させスケーラビリティを高めるために、はてなでは様々な取組みを行っています。セッションでは、はてなで採用している具体的な技術、ノウハウ、可視化手法と、それらの効果について紹介します。」というものです。 最近の、Interopやカーネル読書会あたりで話した内容をまとめつつ、レスポンスタイムの可視化という最近の取り組みについて話しました。 最近、レスポンスタイムについては、以下のようなグラフを使っています。 x軸がレスポンス時間、y軸がその時間内に収

    KOF2009「ウェブサービスのパフォーマンスとスケーラビリティ」 - stanaka's blog
  • Facebookが大規模スケーラビリティへの挑戦で学んだこと(前編)~800億枚の写真データとPHPのスケーラビリティ問題

    Facebookが大規模スケーラビリティへの挑戦で学んだこと(前編)~800億枚の写真データとPHPのスケーラビリティ問題 全世界で3億人を超える会員を抱え、世界最大のSNSとなったFacebook。同社の巨大なシステムは、3つのデータセンターにある約3万台のサーバと、PHPC++、Memcache、MySQLなどのソフトウェア群によって支えられています(同社のデータセンターの巨大さは、記事「3億のユーザーを抱えるFacebookのデータセンター。移動は自転車、希望は100Gbイーサネット 」を参照)。 同社の技術担当バイスプレジデント Jeff Rothschild氏は、Facebookが実現している大規模なスケーラビリティを、いかにしてこれらのソフトウェアで実現しているのか、10月8日に米カリフォルニア大学サンディエゴ校で行ったセミナー「High Performance at Mas

    Facebookが大規模スケーラビリティへの挑戦で学んだこと(前編)~800億枚の写真データとPHPのスケーラビリティ問題
  • スワップサイズをゼロにしてはいけない

    先月発売された書籍「Linux-DBシステム構築/運用入門」は、なかなか上々の売れ行きとなっているようです。Amazonではしばらく「1-2ヶ月待ち」の状態が続いてしまっていたのですが、最近になってようやく解消され、容易に入手できるようになっているようです。Amazonの在庫切れ問題がひと段落したところで、これからは書籍のサポート的な情報を書いていくことにします。 まず、書を購入された皆さまありがとうございました。結構な数の方がBlogやTwitter等で、このをほめてくださっていることに大変感謝しています。まだ自体の認知度が低い(存在自体を知らない顧客も多い)ので、普及活動をしつつ、これからも読者の期待に応えられる記事を書いていきたいと思っています。 最初は、よく見かけることの多い「メモリ管理」の話題を取り上げようと思います。第12章では、メモリ管理とスワップ領域に関する解説をして

  • Kazuho@Cybozu Labs: パフォーマンスとスケーラビリティのためのデータベースアーキテクチャ (BPStudy#25発表資料)

    先週金曜日、BPStudy#25で、「パフォーマンスとスケーラビリティのためのデータベースアーキテクチャ」という題目で話をさせていただきました。その際に使用した発表資料は以下のとおりです。 1. Happy Optimization 最初に、最適化の考え方として、上限値を予測し、それを元にリソース配分を考える、という手法を説明しました。

  • SSDの真の性能を引き出す MySQL 5.1.38 InnoDB Plugin - SH2の日記

    X25-M、SSDで検索してくる方が非常に多いので、ブログ内のSSD関連記事をリストしておきます。 MySQLのベンチマークを用いたIntel X25-M SSDの評価 (2009/03/25) SSDの真の性能を引き出す MySQL 5.1.38 InnoDB Plugin (記事) MySQL 5.1.38から体に同梱されるようになった、InnoDB Pluginの性能検証結果です。前回ご紹介したようにInnoDB Pluginには以下の強化点がありますが、日はこのうちバックグラウンドI/Oスレッドの増加に焦点を当ててみたいと思います。 高速なインデックス作成。従来InnoDBCREATE INDEXはテーブルの再作成を伴っていました テーブルとインデックスの圧縮 (検証結果その1、その2) INFORMATION_SCHEMAによるロック競合の検出 (検証結果) CPUスケ

    SSDの真の性能を引き出す MySQL 5.1.38 InnoDB Plugin - SH2の日記
  • アート・オブ・アプリケーション パフォーマンステスト

    世の中に存在するシステムは、多かれ少なかれパフォーマンス上の問題を抱えています。問題の解決には、パフォーマンステストを適切に実施し、ボトルネックを浮き彫りにすることが有効です。書は、精度の高いパフォーマンステストを求める人のための技術書です。パフォーマンステストの論理的根拠、効果的なテスト構成要素など基礎的なことから、パフォーマンステストのプロセス、結果の解釈、またトランザクション例など発展的な内容まで、パフォーマンステストを包括的に解説します。ミッションクリティカルなソフトウェア開発者、テスター、プロジェクトマネージャ必読の一冊です。 訳者まえがき はじめに 1章 なぜパフォーマンステストをするのか? 1.1 パフォーマンステストとはなにか:エンドユーザの視点 1.1.1 パフォーマンス計測 1.1.2 パフォーマンス標準 1.1.3 インターネット効果 1.2 劣悪なパフォーマンス:

    アート・オブ・アプリケーション パフォーマンステスト
  • 性能検証!インメモリDB

    インメモリDBを知る 「第2回:検証!RACの耐障害性と拡張性(http://www.thinkit.co.jp/article/96/2/)」では、Oracle Real Application Clusters(以下RAC)の耐障害性と拡張性を有効に活用する手法について触れ、最後にパフォーマンス向上のために考慮すべき点をご紹介しました。 しかしそれらを考慮したとしても、オンライン証券など高トランザクションを求められるシステムでは、ディスク型RDBMSで対応することには限界があります。そこで今回は最近注目を集めているインメモリDBを取り上げ、どのように高トランザクションシステムを処理していけるのかを紹介します。 最近インメモリDBという言葉を聞く機会が徐々に増えてきました。大手ベンダだけでもTimesTenを買収したOracle社、solidDBを買収したIBM社、自社製品を開発している

  • ディスクキャッシュを簡単にクリアする - 射撃しつつ前転 改

    3年前にディスクキャッシュをクリアするためにはunmountしてからmountしなおせば良いという事を知ったが、これは自由に取り外しができるパーティションがないと使えない。強制的にキャッシュをクリアする方法を知ったのでメモしておく。 sudo sysctl -w vm.drop_caches=3; sudo sysctl -w vm.drop_caches=0; 参考:ext3の dir_indexを試す 追記: sudo sysctl -w vm.drop_caches=3 だけでOKだとkosakiさんからコメントで教えてもらいました。

    ディスクキャッシュを簡単にクリアする - 射撃しつつ前転 改
  • nabokov7; rehash : マイ・ブラックホール (2) - いかにして私はブラックホールに辿り着いたか

    July 24, 200915:39 カテゴリmysqlプログラミング マイ・ブラックホール (2) - いかにして私はブラックホールに辿り着いたか ブログのアクセス解析用に使うストレージを選定するのに先だって,こんな条件下での速度比較をしてみた。 主な処理は,ブログ毎,あるいはページ毎のアクセス数のカウントアップ。つまり,ブログid & 記事id をキーとして,memcached なら set/incr, sqlなら insert 〜 on duplicate key update 〜 文の発行をする。200個のプロセスが,それぞれ平行して「あるキーのカウントアップ(書き込み) を行い,続いて別のキーの読み出しを行う」という処理を500回繰り返す。(合計10万回のカウントアップと10万回の読み出しに相当。)ストレージは,ベンチマークを行うスクリプトとは別のサーバ上にあり,必ずネットワーク

  • 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

  • mysql と drizzle の負荷テストツール「skyload」が凄い! - kazuhoのメモ置き場

    tmaesakaさんがやってくれました。 ずいぶん前からSQLのベンチマークを測定するのに使いやすいプログラムないかなーと思ってました。個人的にはmysqlslapというのを使ってたのですが、幾らか気に入らない所があったりコマンドラインオプションが複雑で毎回 --help を読んだりしていました。余計な機能なんかなくて、指定したSQLを高速にくりかえしてくれる物が欲しいなぁって思ってたんです。 とあるIRCでこの前、tmaesakaさんから「いま作ってる」という話を聞いて、いろいろ要望を言ってたんですが、ついさっきチュートリアルが公開されました。速いw 名前はskyload。とても小さく、実装コードだと800行程度です。しかもオプションが少ないので使い方が単純です。試しに適当な INSERT の速度を測ってみました。 $ skyload --server=localhost --mysql

    mysql と drizzle の負荷テストツール「skyload」が凄い! - kazuhoのメモ置き場
  • brass.to - a really cool domain parked on Park.io

    The domain name brass.to is being parked on Park.io. Contact the domain owner to make an offer right now...

  • データベースを用いたセッションデータ管理について - LukeSilvia’s diary

    Web アプリケーションとは切っても切れないセッション機構。DB ベースでセッション管理を行なって得られた知見と、それを元に考察した結果をまとめてみます。 セッションデータの特性 DB で管理される他のデータに比べ、セッションデータはかなり特殊です。主な特徴は次のような感じ。 データが増加するのが速い 定期的な削除が必要 頻繁に更新される リクエスト毎に読みに行く必要がある このデータを読めないとアプリケーション全体にアクセスできない アクセス頻度が高いということです。あと、1つ目の特徴からセッションデータについては意識的に管理してやる必要があります。 現在の環境 アプリケーションの領域が少し特殊で、セッションデータがやたらたまります(ユーザ数何百万のサービスとかそういうのではないです)。 RDBMS MySQL 4.0.22 ストレージエンジン InnoDB レコード数 6千万 テータサ

    データベースを用いたセッションデータ管理について - LukeSilvia’s diary
  • Banana Fish Manga Online English in High-Quality

    Banana Fish (stylized in all caps) is a Japanese manga series written and illustrated by Akimi Yoshida. It was serialized in the monthly manga magazine Bessatsu Shōjo Comic from 1985 to 1994, and collected into nineteen tankōbon volumes by Shogakukan. Banana Fish follows the relationship between Ash Lynx, a teenage gang leader in New York City, and Eiji Okumura, a Japanese photographer's assistant

    Banana Fish Manga Online English in High-Quality