より速く より運用しやすく 進化し続けるJVM (Java Developers Summit Online 2023 発表資料) 2023年2月28日(火) NTTデータ 技術開発本部 阪田 浩一Read less
"Locality is efficiency, Efficiency is power, Power is performance, Performance is King", Bill Dally マルチスレッディングとは? CPUとGPUのマルチスレッディングの違いをブログにまとめていたけど例によって誰も興味なさそう— arutema47 (@arutema47) 2021年8月16日 つぶやいたら読みたい方が多そうだったので完成させました。 マルチスレッディングとはメモリ遅延を隠蔽しスループットを上げるハードウェアのテクニックです。 ただCPUとGPUで使われ方がかなり異なるため、その違いについて考えてみる記事です。 (SIMDについて並列プログラミングの観点から触れるべきでしたが、時間無いマルチスレッディングに注目するため初版では省きました。) 本記事について 本記事はCPUとG
渡部です。SQLチューニングの基本は、実行計画への理解です。 過去のdb tech showcase発表のスライドがよくまとまっている(自画自賛!)ため、これを用いて実行計画の読みかたを説明したいと思います。 db tech showcase 2017「Oracle入門セミナー 実行計画を読んでみよう!」 2017年9月のdb tech showcase 2017の発表を下敷きにして、実行計画の読みかたを説明します。 db tech showcase 2017「Oracle入門セミナー 実行計画を読んでみよう!」 https://cosol.jp/techdb/2017/09/dbts2017-oracle-read-execution-plan-html/ SQLチューニングの省力化・自動化にはToadのSQL Optimizer for Oracle, SQL Optimizer fo
11. I'm yoku0825 ● とある企業のDBA ● オラクれない ● ポスグれない ● マイエスキューエる ● 家に帰ると ● 嫁の夫 ● せがれの父 ● 馬鹿だからかわいいわけじゃなくて、かわいい イルカがたまたまバカだった 12. はじめに ● サンプルデータは MySQLのサンプルデータ ベース(worldデータベース)からインデック スを全て取っ払ったものです ● http://dev.mysql.com/doc/index-other.html ● コードはgithubに上げてあります ● https://github.com/yoku0825/yapc_2014 ● すごく…ウンコードです… 13. はじめに ● 原則、MySQLは1つのテーブルにつき同時に1 つのインデックスしか使いません ● Index mergeとかあるけどアレは例外だし狙って やっても速くなる
Oracle データベースの内部構造に着目して、さらなるチューニングを行うために必要な基礎知識をまとめた資料です。
Founder/CEO Pulumi • Cloud, languages, and developer tools guy • Eat, sleep, code, repeat In this essay, I’ll talk about “performance culture.” Performance is one of the key pillars of software engineering, and is something that’s hard to do right, and sometimes even difficult to recognize. As a famous judge once said, “I know it when I see it.” I’ve spoken at length about performance and culture
「HTML5 Advent Calendar 2013」の24日目の記事です。 Webアプリのパフォーマンス改善と言えば、JavaScriptやDOMアクセスなど、既存の技術ベースな改善手法を想像する方も多いでしょう。最近では、こうした改善のあり方を、別の視点からもう少し広げようというアイデアが存在感を持ち始めています。それは「Web標準」です。 そこで今回、Web標準側でできるWebアプリのパフォーマンス改善について、掻い摘んで紹介します。全てを説明となるとキリがないので、キーワードを中心とさせて頂きます。最近になって、結構実用化が進んできているので、悩んだ時には試してみる価値はあるでしょう。 1. リソースを先に読み込む linkタグにてURLなどを指定することで、これから先に読み込ませる可能性が高いWebページのリソースを予め読み込むWeb標準があります。ニュースサイトでは次のページ
"Nested Loop Joinしか取り上げて無いのにタイトルが大きすぎないか" と指摘を頂いたので、タイトルを修正しました。Merge JoinとHash Joinのことはまた今度書こうと思います。 「JOINは遅い」とよく言われます。特にRDBを使い始めて間がない内にそういう言説に触れた結果「JOIN=悪」という認識で固定化されてしまっている人も多いように感じています。 たしかに、JOINを含むようなSELECT文は、含まないものに比べて重たくなる傾向があることは事実です。また、本質的に問い合わせたい内容が複雑で、対処することが難しいものも存在します。しかし、RDBの中で一体どういうことが起きているのかを知り、それに基いて対処すれば高速化できることも少なくないと考えています。 本稿では、JOINの内部動作を解説した上で、Webサービスを作っているとよく出てくるJOIN SQLを例題に
よくMySQLはサブクエリが弱いと言われるが、これは本当だろうか?半分は本当で半分は嘘である。MySQLのサブクエリだってなんでもかんでも遅いわけではない。落とし穴をしっかり避け、使いどころを間違えなければサブクエリも高速に実行できるのである。今日はMySQLがどんな風にサブクエリを実行し、どのような場合に遅いのかということについて説明しよう。 EXPLAINで実行計画を調べた際に、select_typeにはクエリの種類が表示されるのだが、代表的なサブクエリには次の3つのパターンがある。 SUBQUERY DEPENDENT SUBQUERY DERIVED 結論から言おう。遅いのは2番目、DEPENDENT SUBQUERYである。DEPENDENT SUBQUERYとはいわゆる相関サブクエリに相当するもので、サブクエリにおいて外部クエリのカラムを参照しているサブクエリのことである。そし
使ってみる 例えば、100ユーザが同時にhttp://www.example.co.jp/ に1リクエストを発行した場合を想定。 ab -n 100 -c 100 http://www.example.co.jp/ 同時に100ユーザが、1ユーザーあたり10リクエストを発行した場合を想定。 -nには100 x 10 = 1000を指定します。 ab -n 1000 -c 100 http://www.example.co.jp/ 接続先にベーシック認証がかかっている場合。 -Aの後にベーシック認証ユーザとパスワードを:(コロン)で区切って指定します。 ab -n 100 -c 100 -A hogeuser:hogepass http://www.example.co.jp/ 同時接続数よりTotal発行リクエスト数が少ないとエラーメッセージが表示されます。 同時に100人で合計10リクエ
こんにちは、虎塚です。 今週クラスメソッド社内で性能テストツールのApacheBench をテーマにした勉強会を行うことになりました(勉強会というと固い感じですが、経験者から知見をいろいろ教えてもらおうという雑談会です)。 そこで、ApacheBenchをまったく使ったことがない方の予習用に、ごく基本的な情報をまとめておきましたので、公開します。 ApacheBenchのインストール方法 Apache HTTP Serverをインストールします。 sudo yum install httpd または、apr-utilパッケージをインストールすれば、httpdをインストールしなくてもApacheBenchを利用できます。 sudo yum install apr-util ApacheBenchの特徴 ApacheBenchは、Apache HTTP Serverに同梱されている性能テストツ
SiegeはWEBサーバに負荷をかけるツールです。同様のツールとしてApache Bench, httperf, Tsung, JMeterなどありますが、私は主にJMeterとSiegeを利用しています。 siegeのインストールと使い方・オプション・結果の見方をまとめました。 それぞれ、重い負荷やシナリオ込みの負荷をかける場合はJMeter、そこそこの負荷やWEB APIへの負荷はSiegeと使い分けています。 インストール 依存ライブラリをインストール $ sudo yum -y install gcc make openssl-devel ダウンロード $ curl -LO http://www.joedog.org/pub/siege/siege-2.74.tar.gz インストール $ tar zxvf siege-2.78.tar.gz $ cd siege-2.78 $ .
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く