タグ

performanceに関するtgkのブックマーク (62)

  • Moving from DynamoDB to tiered storage with MySQL+S3

    Originally we implemented a feature to persist an event-stream into DynamoDB to allow customers to retrieve them. This proved effective, serving as a strong use case for a key/value storage, yet the drawback was its high cost. Moving to provisioned billing-mode reduced cost by ~50%, but that was not going to be sustainable as we scaled to more customers. We also kept multiplying the cost each time

    Moving from DynamoDB to tiered storage with MySQL+S3
  • Zendesk、DynamoDBからMySQLとS3へ移行し、コストを80%以上削減

    垂直スケーラビリティと効果的なテストによる金融取引システムのパフォーマンスと効率の最大化 Peter Lawrey氏はJavaチャンピオンであり、Chronicle SoftwareのCEOとして、開発者を鼓舞してソリューションのクラフトマンシップを高めることに情熱を注いでいる。経験豊富なソフトウェアエンジニアとして、Lawrey氏はソフトウェア開発プロセスにおけるシンプルさ、パフォーマンス、創造性、革新性を奨励することに努めている。

    Zendesk、DynamoDBからMySQLとS3へ移行し、コストを80%以上削減
  • TPCベンチマーク基礎講座

    先週,私はMicrosoftが出した新しいTPC-Cベンチマークの世界記録を称賛した(該当記事)。しかし,多くの読者が「Transaction Processing Performance Council」(TPC)が何であるか,またそのベンチマークが何を意味するかを知らないようだ。 例えば,ある読者は「なぜTPCという組織は,商業的にライセンス設定されたOSとデータベースだけをテストするのか?見たところ,その非営利団体は,入手できるものは何でもベンチマークしているようだ。例えば,なぜ彼らはLinuxプラットホームのpostreqsqlmysqlをテストしないのか?」。 その質問への単純な答えは,告訴される恐れがあるからだ。もう少し詳しく回答しよう。まず,TPCについて理解の助けになるように,その組織についてバックグラウンドをざっと説明したほうがいいだろう。 TPCの設立趣意書には「TP

    TPCベンチマーク基礎講座
  • MySQLでプライマリキーをUUIDにする前に知っておいて欲しいこと | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]

    株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 bashパフォーマンスMySQLInnoDBDB設計インデックス こんにちは、羽山です。 今回は MySQL のプライマリキーに UUID を採用する場合に起きるパフォーマンスの問題を仕組みから解説します。 MySQL(InnoDB) & UUID のパフォーマンスについては各所でさんざん議論・検証されていますが、論理的に解説した記事が少なかったり一部には誤解を招くようなものもあるため、しっかりと理由から理解するための情報として役立つことができればと思っています。 UUID と比較される古き良き昇順/降順のプライマリキーはというと、 MySQL の InnoDB において良いパフォーマンスを出すために縁の下の力持ちのような働きをしてくれているケースが実は少な

    MySQLでプライマリキーをUUIDにする前に知っておいて欲しいこと | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]
    tgk
    tgk 2021/09/01
    データがメモリに乗り切らない構成の場合、ランダムアクセスが致命傷になる
  • HTTP/2が速いという幻想 - Webパフォーマンスについて

    難しい話じゃないです。 皆さん、ご自分でChrome Developer Toolで簡単に確認できますから、やってみて下さい。 このブログでも、過去に統計分析をした結果は掲載したんですが、「盲信」はそうそう簡単には消えないようでして… takehora.hatenadiary.jp takehora.hatenadiary.jp 以下の図は、Chrome 63.0.3239.108での結果です。 CDNにFastlyでもAWS CloudFrontでも、どのCDNを使って実験して頂いても結構です。 CDNを使わずに、Webサーバ単体でも結構です。 同様の結果になります。 どちらもHTTPS通信です。 どちらも同じオリジン、同じファイル構成です。 HTTP/1.1は、Keep-Alive設定が入っています。 HTTP/1.1での配信 … Load Event 70ms HTTP/2での配信

    HTTP/2が速いという幻想 - Webパフォーマンスについて
    tgk
    tgk 2017/12/27
    「コンピュータは、そうそう簡単に並列処理はできないのです。 大抵は、並列処理すると、そのオーバーヘッドのコストの方が高くつきます」
  • Oracle, SQL Server, PostgreSQLにおけるソートマージ結合

    ソートマージ結合は、ファスナーのように2つのソート済みリストを組み合わせる方法です。結合のどちら側も結合述語によって並べ替えされて いる必要があります。 ソートマージ結合では、ハッシュ結合と同じ、つまり候補となる 全てのレコードを一度に読み込むため、それぞれの条件に作られたインデックスが必要になります。ほぼ全てがハッシュ結合と同じですが、 1つだけソートマージ結合に特有なことがあります。それは、完全な対称性があることです。結合の順序は全く影響を与えず、パフォーマンスにも 関係ありません。この特性は、外部結合を行う際に非常に便利なものです。他のアルゴリズムでは、外部結合の方向(左結合か右結合か)は、結合の 順序に関係しますが、ソートマージ結合では関係ありません。それどころか、ソートマージ結合では左外部結合と右外部結合を同時に実行してしまう、 つまりいわゆる完全外部結合が可能です。次の アニメ

    Oracle, SQL Server, PostgreSQLにおけるソートマージ結合
    tgk
    tgk 2017/08/08
    「ソートマージ結合に特有なことがあります。それは、完全な 対称性があることです」「ソートマージ結合では左外部結合と右外部結合を同時に実行してしまう、 つまり完全外部結合が可能です」
  • SQLのインデックスとそのチューニングについてのオンラインブック

    開発者向けのSQLインデックス解説サイト、管理についての間違いない知識を提供します。 インデックスは開発時には忘れられがちである一方で、非常に効果的なSQLのチューニング方法です。Use The Index, Lukeでは、HibernateなどのORMツールの解説にとどまらず、SQLのインデックスについて基礎から説明します。 Use The Index, LukeはSQLパフォーマンス詳解のWeb上の無料版です。サイトを気に入って頂けたら、ぜひ書籍も購入してみて下さい。また、このサイトの運営をサポートする様々なグッズも販売しています。 MySQLOracleSQL ServerなどにおけるSQLのインデックスUse The Index, Lukeでは、ベンダにとらわれないインデックスの説明を心がけています。製品特有の事柄については、以下のような表示をしています。 DB2Use The

    SQLのインデックスとそのチューニングについてのオンラインブック
    tgk
    tgk 2017/03/05
    いつの間にか翻訳されていた
  • SQLPerformance.com

    In the third part of his series on lock escalation, Paul White discusses how long SQL Server holds locks and why.

  • Conditional WHERE clauses in SQL - Avoid Smart Logic

    tgk
    tgk 2017/02/28
    "Smart Logic"では常にFTSになり、絶対にインデックスが使われない。「パラメータが何も指定されない場合」にも使える実行計画でなければならないから
  • SQL WITH: Performance Impacts

    tgk
    tgk 2017/02/14
    PostgreSQLだけ、with句で生成したテーブルの最適化ができない。predicate pushdown/projection pushdownができない等
  • SQLを繰り返し実行したら段階的に応答速度が上がった話 - なからなLife

    MySQL Casual Advent Calendar 2016 - Qiitaの6日目の記事です。 AdventCalendar自体初参加でドキドキ、してたら、成り行きで2日連続。 コレ用のきれいなエビデンス取れるような環境要していなかったので、普段より荒っぽいですが、Casualな感じで失礼します。 大きなテーブルを繰り返しSELECTしてたら、挙動が変わったんですよ。 バッファに載っているなら載っているで早いだろうし、載っていいなら最初ガッツリ遅くて、次からグイっと速くなるだろうと思っていたんですよ。 バッファに載りきらないなら、何回やっても遅いだろうと思っていたんですよ。 で、ちょいと計測的なことをやってた関係で、同じSQLを何度か叩いて平均、中央を見ようと思っていたんです。 そしたら、 45.71秒、44.90秒、24.44秒、13.32秒、13.12秒・・・ と、段階的に応答

    SQLを繰り返し実行したら段階的に応答速度が上がった話 - なからなLife
    tgk
    tgk 2016/12/07
    「SQLの1発目で、Oldに乗る範囲だけOldに乗る。OldからYoungに移ったあと、もう一度SQL叩いたところで、空いたOldに残りからまた0.74GBが乗る」「そんな感じで、段階的に応答速度が上がる、という事象」
  • The primary key is the default clustered index in SQL Server and MySQL. This implies a 'clustered index penalty' on all non-clustered indexes.

    tgk
    tgk 2016/09/22
    clustered index否定論。やりたいことはindex-onlyで足りるし、clustered indexのようなpenaltyがないから
  • 【翻訳】 On Uber’s Choice of Databases (データベースにおけるUberの選択について)

    数日前、Uberのブログで「Why Uber Engineering Switched from Postgres to MySQL」というエントリが公開されました。 Why Uber Engineering Switched from Postgres to MySQL - Uber Engineering Blog https://eng.uber.com/mysql-migration/ それに対して、PostgreSQLコミュニティ界隈でもいろいろなブログエントリが公開されました。 Robert Haas: Uber's move away from PostgreSQL http://rhaas.blogspot.jp/2016/08/ubers-move-away-from-postgresql.html On Uber’s Choice of Databases http:/

    【翻訳】 On Uber’s Choice of Databases (データベースにおけるUberの選択について)
    tgk
    tgk 2016/08/05
    「PostgreSQLでは、並行性を向上させるために...疎(sparse)なインデックスを可能にするLhemanとYaoのB-treeの派生版を使っています。追記しておくと、PostgreSQLはインデックス内で空になったページを削除します」
  • CPU使用率100%のWebサーバをOSのチューニングだけでCPU使用率20%まで改善する - 人間とウェブの未来

    こんばんは、 @matsumotoryです。 hb.matsumoto-r.jp 上記エントリにおいて、プロセスの大量メモリ確保に伴うページテーブルサイズとベージテーブルエントリ数の肥大化によるcloneやexecveの性能劣化とCPU使用時間の専有問題、および、それらの解決方法についてシステムコールレベルで確認しました。 そこで今回は、システムコールやそのカーネル内部の処理の性能、というよりは、より実践的な環境であるApache httpdとmod_cgiを用いて、phpinfo()を実行するだけのCGIに対してベンチマークをかけた時にどれぐらいCPUのidleが空くか、システムCPUの使用量が変わるかを、前回示した解決方法の1つであるHugePagesを使うかどうかの観点で比較してみましょう。 特定条件下のWebサーバ環境のシステムCPUに起因する高負荷問題から、システムコールやカーネ

    CPU使用率100%のWebサーバをOSのチューニングだけでCPU使用率20%まで改善する - 人間とウェブの未来
  • ハッシュは頻繁に参照する値を最後に入れると高速 - まめめも

    明日から RubyKaigi なので、ちょっとした小ネタを一つ。 例えば、0 から 9999 までをハッシュに順に入れます。 h = {} 10000.times do |n| h[n] = true end このとき、h[9998] や h[9999] は、h[0] や h[1] より高速です。 どのくらい高速かというと、 1_000_000_000.times { h } # 40.8 sec (ループ自体の速度) 1_000_000_000.times { h[9999] } # 57.2 sec 1_000_000_000.times { h[0] } # 89.1 sech[0] は 89.1 - 40.8 = 48.3 nsec 、h[9999] は 57.2 - 40.8 = 16.4 nsec ということになります。なんと 3 倍も速い。*1 なぜこんなことが起きるのか ハ

    ハッシュは頻繁に参照する値を最後に入れると高速 - まめめも
    tgk
    tgk 2015/12/11
    closed hashingなるもの
  • PostgreSQL 9.6のパラレルシーケンシャルスキャンを検証する

    今年もこの季節になりました。PostgreSQL Advent Calendar 2015のDay1の記事です。 今回は、現在開発中のPostgreSQL 9.6に実装されたパラレルシーケンシャルスキャンについて、動作確認とフラッシュストレージでの簡単な性能検証をしてみようと思います。 なお、現在開発中の機能ですので、正式リリースされる時には仕様や動作などが変わっている可能性があることをご了承ください。 ■「パラレルシーケンシャルスキャン」とは 「パラレルシーケンシャルスキャン」は、その名の通り、シーケンシャルスキャンを並列処理する機能です。 今まで、PostgreSQLでは1つのCPUを使ってシングルスレッド(というかプロセス)でしか処理をすることができませんでした。 しかし、直近のPostgreSQLのメジャーバージョンの拡張を見ていた方はご存じの通り、PostgreSQLではパラレル

    PostgreSQL 9.6のパラレルシーケンシャルスキャンを検証する
  • マイクロソフトはどうやってBingをFPGAで実装したか - Qiita

    ドワンゴがニコ動の画像配信向けにFPGAエンジニアを募集したり、マイクロソフトはBingをFPGA実装したり、Baiduもディープラーニングの高速化にFPGAを導入したりと、なんだか世の中急にハードウェアくさくなってきた。IoTとは違う意味で。 金融分野ではすでにCPUでは遅すぎてFPGAによるナノ秒単位の株取引が行われているって記事を書いたのは2年前だけど、ここ数年はIntelのCPUのクロックもあまり上がらなくなってきたし、Fusion-ioやNetezzaといった大手御用達のハイエンド鬼速ストレージも、フタを開ければ中身はすでにFPGAに移行済み。IBMが最近出したData Engine for NoSQLという製品ではPOWER8プロセッサにFPGAを直付けしてRedisを高速化したり。いよいよデータセンターにも、先の見えないCPUに代わってFPGAGPUを導入する波が押し寄せつ

    マイクロソフトはどうやってBingをFPGAで実装したか - Qiita
  • DB思い出話いろいろ(仮)

    JPOUG> SET EVENTS 20140907でお話した「DB思い出話いろいろ(仮)」の資料です。

    DB思い出話いろいろ(仮)
  • ショック! Twitterがサポートを始めたGIFアニメはGIFではなかった―しかしうまい考え | TechCrunch Japan

    Wirepas, a startup out of Finland that is building out an Internet of Things business based on a novel approach — using mesh networking, rather than cellular or WiFi to connect thousands of obje We reported in September that Palo Alto was getting ready to make yet more security acquisitions out of Israel, specifically of Dig Security and Talon. Today, some confirmation of one of those has arr

    ショック! Twitterがサポートを始めたGIFアニメはGIFではなかった―しかしうまい考え | TechCrunch Japan
    tgk
    tgk 2014/06/27
    「実は音無しのビデオファイルなのだ。HTML5にビデオタグを使って埋め込まれたMP4ファイルだった」「GIFに比べるとMP4は動きが2倍も滑らかで色は3倍もきれいだ。そしてファイルのサイズは4分の1だ」
  • DB管理者がいますぐ確認すべき3つの設定

    DB管理者がいますぐ確認すべき3つの設定:真・Dr. K's SQL Serverチューニング研修(4)(1/3 ページ) 管理者の力量があらわれる3つの設定 前回、設定された値を見るだけでDB管理者の力量が見える、ということに触れました。今回も必ず押さえておきたいパラメータを、なぜそのように設定すべきかという理由と併せて解説していきます。 設定すべきポイントは大変シンプルです。 tempdbの数をCPUコア数にあわせよ x64環境なら「メモリ内のページロック指定」を変えよ OLTP環境では、並列処理の最大限度(Max DOP)はCPUコア数の「4分の1」に設定せよ もちろん、これだけ変更すれば、その部分における最低限のチューニングは完了します。しかし1つ上のエンジニアを目指すなら、その理由まできっちり知っておくべきでしょう。その理由を知ることで、監視ツールや動的管理オブジェクトが発する「

    DB管理者がいますぐ確認すべき3つの設定
    tgk
    tgk 2014/03/24
    「Latchを最小限にするために、tempdbの数はCPUコア数と同じ数だけ用意してください」