並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 625件

新着順 人気順

performanceの検索結果41 - 80 件 / 625件

  • Netflixによるインスタンス負荷改善のための解析事例 - FPGA開発日記

    LinkedInの記事をめぐっているうちに見つけた、マイクロアーキテクチャに関する面白い事例。 CPUのマイクロアーキテクチャのさらに奥深くまで理解が必要な問題を解決するために、どのようなツールをつかってどのように解決したかの話。 netflixtechblog.com Netflix内でのワークロード最適化のため、AWSのインスタンスサイズを移行(16 vCPUから48 vCPU)し、CPUがボトルネックとなるワークロードの性能向上を図った。 このインスタンスの移行により、性能をほぼ直線的に増加させることを想定し、スループットがおよそ3倍になると予想した。 しかし、結果としてこの移行で想定する性能は達成できなかった。 https://netflixtechblog.com/seeing-through-hardware-counters-a-journey-to-threefold-pe

      Netflixによるインスタンス負荷改善のための解析事例 - FPGA開発日記
    • 「ゼルダの伝説 ティアーズ オブ ザ キングダム」地底ダイブ時のロード時間短縮術は「そんなことまでやってるの!?」と思わず笑ってしまう工夫が満載【CEDEC2024】 | Gamer

      2024年8月21日~23日にわたって開催の「CEDEC2024」。本稿では22日に行われた講演「『ゼルダの伝説 ティアーズ オブ ザ キングダム』の世界をつなぐ技術 ~空、地上、地底、そして制作もシームレスに~」のレポートをお届けする。 目次 「ブレワイ」と「ティアキン」ではフィールド読み込みの手法を一新 地底へのダイブをロード無しに実現するための4つの工夫 空島はまさかの「いったん放置」……しかし、ただの放置ではない。「積極的放置」だ! 主人公のリンクが空、地上、地底をシームレスに行き来しながら冒険していく「ゼルダの伝説 ティアーズ オブ ザ キングダム」(以下「ティアキン」)。この“縦軸の遊び”も加わった広大なフィールドを「Nintendo Switch上でどうやって実現しているんだ!?」と驚愕しながらプレイした人は多かったのではないだろうか? 案の定、これが凄まじい工夫の上で成り立

        「ゼルダの伝説 ティアーズ オブ ザ キングダム」地底ダイブ時のロード時間短縮術は「そんなことまでやってるの!?」と思わず笑ってしまう工夫が満載【CEDEC2024】 | Gamer
      • キャッシュと向き合う、キャッシュと共に生きる / cache pattern

        PHPerKaigi 2024の登壇資料です。 https://phperkaigi.jp/2024/ - https://speakerdeck.com/moznion/pattern-and-strategy-of-web-application-caching - https://sou…

          キャッシュと向き合う、キャッシュと共に生きる / cache pattern
        • 『LeanとDevOpsの科学』をきちんと解読する 〜Four Keys だけじゃ絶対もったいなくなる話〜

          スクラムフェス福岡2024での講演資料です。 --- 皆さん、職場でFour Keysを導入していますか? Yesと答えた皆さん、『LeanとDevOpsの科学』は読みましたか? あくまで僕の周囲のみの観測で語るのですが、Four Keysを職場で導入しているという人はとても多いので…

            『LeanとDevOpsの科学』をきちんと解読する 〜Four Keys だけじゃ絶対もったいなくなる話〜
          • なぜDBから引くときに1000件ずつchunkingするのか、説明できますか - Lambdaカクテル

            MySQLやPostgreSQLといったRDBMSからデータを引いてくるとき、扱うデータの規模によっては、1000件ずつLIMITをかけて順に引いていくということがある。 以前slow queryが出たらよくやっていたのを思い出して、ふとこのあたりってどういう根拠があってやっているのだっけ、自分が知っている他に効能があったりするのかな、と思ってSlackに書き込んだところ、同僚の id:onk に教えていただいた。その内容に加えて軽く調べた内容をまとめてみる。 Web系の話です。みなさまの知見がありましたら教えてください。 TL;DR 刺さる*1から 刺さったら困るから あたりまえ 詳細 もともとSlackに書いた原文は以下の通り(MySQL前提で書いているけどPostgresといった他のRDBMSにも適用できる話。): DB引くとき、Perl時代(?)によく1000件単位でchunkin

              なぜDBから引くときに1000件ずつchunkingするのか、説明できますか - Lambdaカクテル
            • RAGの性能を改善するための8つの戦略 | Fintan

              近年、OpenAIのGPT-4やGoogleのGemini、MetaのLLaMAをはじめとする大規模言語モデル(Large Language Model:LLM)の能力が大幅に向上し、自然言語処理において優れた結果を収めています[1][2][3]。これらのLLMは、膨大な量のテキストデータで学習されており、さまざまな自然言語処理タスクにおいて、タスクに固有なデータを用いてモデルをファインチューニングすることなく、より正確で自然なテキスト生成や、複雑な質問への回答が可能となっています。 LLM-jp-eval[4]およびMT-bench-jp[5]を用いた日本語LLMの評価結果。Nejumi LLMリーダーボード Neoより取得。 大規模言語モデルは近年急速な進歩を遂げていますが、これらの進歩にもかかわらず、裏付けのない情報や矛盾した内容を生成する点においては依然として課題があります。たとえ

                RAGの性能を改善するための8つの戦略 | Fintan
              • Microsoft提供の無償システム最適化ソフト「PC Manager」が「Microsoft Store」に登場/「winget」コマンドでもインストール可能【やじうまの杜】

                  Microsoft提供の無償システム最適化ソフト「PC Manager」が「Microsoft Store」に登場/「winget」コマンドでもインストール可能【やじうまの杜】
                • 『THE RAMPAGE』新曲でLDHが謝罪。「ナチス式敬礼」など批判が殺到し、歌詞と振り付けの変更を発表

                  ダンス・ボーカルグループ「THE RAMPAGE」の新曲でナチス・ドイツを想起させるパフォーマンスがあったなどとして批判が殺到していた問題で、所属事務所のLDHは12月25日、公式ウェブサイトに声明文を掲載し、謝罪した。

                    『THE RAMPAGE』新曲でLDHが謝罪。「ナチス式敬礼」など批判が殺到し、歌詞と振り付けの変更を発表
                  • スロークエリログをどう使えばいいのかって疑問、全て解決

                    これはなに ども、レバテック開発部のもりたです。 今回はMySQLでのスロークエリログについて調査してまとめました。 スロークエリログといえば古くからパフォーマンスチューニングの力強い味方といったふうに語られることも多いですが、最近はクラウドで使える便利なツールも生まれています。この記事ではスロークエリログの一般的な使い方を紹介するとともに、他のツールとの比較や、どんな場面でスロークエリログが役に立つのか、また役に立たない場合はどんなツールを利用することができるのかについてまとめました。 足りないところなどあればおおいにマサカリ投げていただけると幸いです。 記事の流れ 記事の流れ この記事はそこそこ長いので、初めに記事の流れを解説します。適宜読み飛ばしてください。 なぜスロークエリログなのか ここではそもそもスロークエリログをなぜ確認したいのかみたいなところを説明します スロークエリログの

                      スロークエリログをどう使えばいいのかって疑問、全て解決
                    • SQSを用いたクレジットカード決済の非同期化 - ZOZO TECH BLOG

                      こんにちは、カート決済部カート決済サービスブロックの林です。普段はZOZOTOWN内のカートや決済の機能開発、保守運用、リプレイスを担当しています。 弊社ではカートや決済機能のリプレイスを進めており、これまでにカート投入のキャパシティコントロールや在庫データのクラウドリフトを実現しています。 techblog.zozo.com techblog.zozo.com 本記事では新たにクレジットカード決済処理を非同期化したリプレイス事例を紹介します。 はじめに 背景・課題 非同期化のシステム構成 パターン1 - 完全非同期化パターン パターン2 - 非同期・同期切り替えパターン パターン3 - ポーリングパターン システム構成の決定 メッセージングサービスの選定 効果 今後の展望 まとめ さいごに はじめに 本章では、非同期化前のZOZOTOWNのクレジットカード決済を用いた注文処理の流れを説明

                        SQSを用いたクレジットカード決済の非同期化 - ZOZO TECH BLOG
                      • 数十億のレコードを持つ 5年目サービスの 設計と障害解決

                        Kaigi on Rails 2023

                          数十億のレコードを持つ 5年目サービスの 設計と障害解決
                        • MySQLのSQLクエリチューニングの要所を掴む勉強会を開催しました! - ANDPAD Tech Blog

                          こんにちは!DBREの福間(fkm_y)です。先月、弊社でデータベースの技術顧問をして頂いてる三谷(mita2)さんに開発本部向けの「MySQL SQLチューニング」勉強会を実施していただきました。 今回はMySQLの得意不得意なことの説明やSQLチューニングの流れ、具体的な事例を元にした対応例、また最近話題のHTAPな製品も紹介していただきとても参考になったのでポイントをおさえてレポートをお伝えします! 開催背景 本編 MySQL の得意なこと、苦手なこと データベースのチューニング手段と特徴 SQLチューニングの流れ インデックス SQLチューニング例 インデックスフルスキャンとカバーリングインデックス ソート まとめ 当日の資料 さいごに 過去開催されたデータベース勉強会レポート 開催背景 弊社では三谷さんによるデータベース勉強会を定期的に開催しています。数年前にも同じテーマで勉強会

                            MySQLのSQLクエリチューニングの要所を掴む勉強会を開催しました! - ANDPAD Tech Blog
                          • Railsで秒間1000コミットを捌くにはどうすればいいのか (Kaigi on Railsのフリースペースより) - joker1007’s diary

                            先日のKaigi on Rails中の雑談として @ima1zumi さんから、RDBに対して秒間1000コミットぐらいで処理が詰まってる場合ってどうするのが良いのか、という質問を受けまして、雑談の中で色々答えてたんですが、せっかくだから記事にまとめておこうと思います。 ちょっとしたKaigi Effectって感じですね。 今回のKaigi on Railsのトークの中では、 数十億のレコードを持つ5年目サービスの設計と障害解決 by KNR - Kaigi on Rails 2023 の話なんかは割と関連がありますね。ユーザーの行動履歴というのは、ユーザー数 * N * タイムスパンで増えていくレコードなので、書き込みとデータ量が爆発しがちです。トランザクションで堅牢に処理しなければいけないケースもそこまで多くないので、RDBだと書き込みに対する処理が過剰なケースが多い。実際のところこの

                              Railsで秒間1000コミットを捌くにはどうすればいいのか (Kaigi on Railsのフリースペースより) - joker1007’s diary
                            • グリーン・デイの年越しパフォーマンスでMAGAが炎上。グリーン・デイ批判をしたイーロン・マスクにバンドが反撃。 (中村明美の「ニューヨーク通信」)-rockinon.com|https://rockinon.com/blog/nakamura/208484

                              すでにご存知の方も多いと思うけど、TV局で放送されたグリーン・デイの年越しパフォーマンスが炎上した。イーロン・マスクまで皮肉を言うような事態があったのだけど、この週末にグリーン・デイがマスクに反論した。 知らない方のためにその経緯を簡単に説明すると。 アメリカの民放局ABCで毎年放送される年越し番組”Dick Clark’s New Year’s Rockin’ Eve with Ryan Seacrest 2024”にグリーン・デイが出演し、パフォーマンスを行った。映像はこちら。 その中で、”アメリカン・イディオット”の歌詞を変えてMAGAを批判。上の映像のちょうど1分くらいのところだ。 ビリー・ジョー・アームストロングが、もともと「俺はレッドネック(アメリカの白人保守派労働者階級)の問題とは関わりたくない」と歌うところを、「俺は、MAGAの問題とは関わりたくない」に変えて歌ったのだ。年

                                グリーン・デイの年越しパフォーマンスでMAGAが炎上。グリーン・デイ批判をしたイーロン・マスクにバンドが反撃。 (中村明美の「ニューヨーク通信」)-rockinon.com|https://rockinon.com/blog/nakamura/208484
                              • 負荷テスト on AWS のすすめ (AWS Summit Japan 2024 - Ministage session)

                                AWS Summit Japan 2024 にて、セキュリティ & One-AWS Zone ミニステージでの登壇資料です。 「負荷テストは、AWS を使ってどう楽になるか?」についてお話しました。スライド内のリンク類はコチラ→https://mabuchs.hatenablog.com/entry/…

                                  負荷テスト on AWS のすすめ (AWS Summit Japan 2024 - Ministage session)
                                • Linux カーネルをバイパスして TCP 通信を 10 倍速くする | IIJ Engineers Blog

                                  【IIJ 2023 TECHアドベントカレンダー 12/16の記事です】 この記事について 背景:TCP はコンピュータネットワークの通信において広く利用されているプロトコル・標準化された通信規格です。コンピュータは TCP/IP スタックと呼ばれるようなソフトウェアを実行することで、定められた規格に則って通信を行います。汎用 OS 環境では、TCP/IP スタックは多くの場合、カーネル空間に OS 機能の一部として実装されています。 課題:通信に関するソフトウェアの研究コミュニティでは、そのようなカーネル空間に実装されている TCP/IP スタックは、近年の高速な NIC の性能を十分に引き出すことが難しいという課題が指摘されてきました。 テクニックの紹介:当記事では、近年の研究コミュニティにおいて比較的一般的な高速化テクニックとされている「カーネルをバイパス(迂回)して TCP 通信を

                                    Linux カーネルをバイパスして TCP 通信を 10 倍速くする | IIJ Engineers Blog
                                  • 「プログラマーのためのCPU入門」は入り口として丁度よい!

                                    Google Analytics でサイト速度を計測する / Measure site speed with Google Analytics

                                      「プログラマーのためのCPU入門」は入り口として丁度よい!
                                    • 「キャッシュは麻薬」という標語からの脱却 - id:onk のはてなブログ

                                      これは はてなエンジニア Advent Calendar 2023 の 18 日目の記事です。昨日は id:gurrium による private-isuで70万点取るためにやったこと - ぜのぜ でした。私は 50 万点ぐらいで満足してしまっていたので、しっかり詰めていて凄いなと思う。 developer.hatenastaff.com Web アプリケーション開発において、「キャッシュは麻薬」という言葉がインターネット上をよく飛び交っています。YAPC::Kansai OSAKA 2017 の id:moznion のトークでよく知られるようになったワードじゃないかな。 初出はちゃんとは分からないんですが、少なくとも 2011 年には言われていますね。 「キャッシュは麻薬」とはよく言ったものだ。— TOYAMA Nao (@nanto_vi) November 5, 2011 キャッシ

                                        「キャッシュは麻薬」という標語からの脱却 - id:onk のはてなブログ
                                      • Zendesk、DynamoDBからMySQLとS3へ移行し、コストを80%以上削減

                                        Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

                                          Zendesk、DynamoDBからMySQLとS3へ移行し、コストを80%以上削減
                                        • Python 3.12で増えた並列処理と、これまでの並列処理の挙動を比べてみる - Qiita

                                          この記事ですることを3行で Pythonの標準ライブラリでできる並列実行を、あらためて総当たりで速度比較しよう ウォーターフォールチャートで、それぞれの並列処理の処理時間の特徴を可視化しよう boto3の実行をモデルケースにして、どの並列処理が一番早いのかを調べよう この記事の結論を先に Python 3.12から本格的に使えるようになったサブインタープリターは、CPUで実行する処理について言えば、従来のサブプロセスよりも高速 boto3の実行は、サブインタープリターよりも署名付きURLの非同期実行のほうが速い → S3からの10ファイルの取得であれば、実行時間を90%削減できます → Bedrockの3回実行であれば、実行時間を60%削減できます 今回使ったソースコードはこちらに置いています。 お手持ちの環境で再実行できるようにしていますので、気になる方はぜひ。 どうしてこの記事を書くの

                                            Python 3.12で増えた並列処理と、これまでの並列処理の挙動を比べてみる - Qiita
                                          • 動画生成AIについて:一番星はてのは目をゆっくり開き、踊れるか

                                            Krita の AI Diffusion プラグイン、SD のインターフェースとしてかなり良い。話題の LCM によるライブペイントも便利だし、イラストレーションツールだからレイヤーや選択ツールが使えるのが強い。すでに SD でできたことだが、こんな感じの変換が素早く、気持ちよく行える。https://t.co/bUPOZrKs1n pic.twitter.com/0hn8iMHHms — Naoto Yokoyama (@builtinnya) November 18, 2023 これらを ControlNet8 で入力して AnimateDiff を使えば済むと考えていたが、甘かった。 動画生成 AI に期待しているのは、この2枚の画像の間のフレームを説得力のある形で補間することである。しかし、7秒という長さでは、例えば次の動画1のようになってしまう。 動画1. 図1と図2を使い、パラ

                                              動画生成AIについて:一番星はてのは目をゆっくり開き、踊れるか
                                            • ネットワーク パフォーマンスの解読: TCP と UDP のバルクフローのベンチマーク | Google Cloud 公式ブログ

                                              Gemini 1.5 モデル をお試しください。Vertex AI からアクセスできる、Google のもっとも先進的なマルチモーダル モデルです。 試す ※この投稿は米国時間 2024 年 6 月 22 日に、Google Cloud blog に投稿されたものの抄訳です。 Google Cloud ネットワーキング チームは長年にわたり、お客様のネットワークの構築、修正、強化の支援に深く携わってきました。その間に、ネットワークのパフォーマンスと効率を最大限に高める重要なパターンやベスト プラクティスを発見しました。この豊富な知見は、ただの理論的なリソースではありません。Google Cloud、クロスクラウド、オンプレミス、その他のクラウド プロバイダなどデプロイ先を問わず、お客様のビジネス目標達成を支援するよう設計された実用的なツールキットです。Google はこの専門知識を共有する

                                                ネットワーク パフォーマンスの解読: TCP と UDP のバルクフローのベンチマーク | Google Cloud 公式ブログ
                                              • Linuxサーバーの最適化: vmstatとiostatを活用した性能分析と対処法 - Qiita

                                                Linuxサーバーの最適化: vmstatとiostatを活用した性能分析と対処法 0.目的 インフラ開発者として、必須な性能分析を身につけることを目的としています。 カーネルパラメータをチューニングをする際に性能分析を前提とし、分析結果からチューニングしていきますが、具体的な指標というものが少ないので参考になれば幸いです。 基本的なvmstatの使い方については、ちょっとググればいくらでも出てくるので割愛します。 「Linuxカーネルパラメータのチューニング&設計」でロードアベレージが高い状態にある場合、次のアクションとしてCPU使用率の確認が必要となりますので、vmstatの結果分析および対処法について深堀していきます。 よって、vmstatの結果分析と対処法を理解すると性能試験を実施した際のその対処法とカーネルパラメータによるチューニングする対象が理解できるかと思います。 1.パフォ

                                                  Linuxサーバーの最適化: vmstatとiostatを活用した性能分析と対処法 - Qiita
                                                • Linuxカーネルパラメータのチューニング&設計 - Qiita

                                                  Linuxカーネルパラメータのチューニング&設計 0.目的 【カーネルパラメータのチューニング】を修得する目的は、サーバの特性を理解し、それぞれに合ったカーネルパラメータのチューニングすることでリソースの有効活用をできるようになることを目的とし、私個人の経験を元にした見解を以下の記事に掲載します。 1.最初に サーバには、それぞれ必要なリソース特性があり、それに合わせたカーネルパラメータのチューニングが必要となります。 世の中の流れはオンプレよりクラウドに移行してはいるので、カーネルパラメータのチューニングよりスケールアップなりスケールアウトするなりの対応をすべきなのでしょう。 ですが、カーネルパラメータのチューニングを知らないとどちらを選択すべきかも理解しずらいと思いますので軽率には出来きません。(待ち行列理論もしらないといけませんが) また、最近のLinuxはデフォルト値が大きくなって

                                                    Linuxカーネルパラメータのチューニング&設計 - Qiita
                                                  • Why Is SQLite Coded In C

                                                    Note: Sections 2.0 and 3.0 of this article were added in response to comments on Hacker News and Reddit. Since its inception on 2000-05-29, SQLite has been implemented in generic C. C was and continues to be the best language for implementing a software library like SQLite. There are no plans to recode SQLite in any other programming language at this time. The reasons why C is the best language to

                                                    • MySQLでUUIDv4をプライマリキーにするとパフォーマンス問題が起きるのはなぜ?(N回目)

                                                      はじめに こんにちは、令和トラベルでバックエンドエンジニアをしている飯沼です。 MySQLでは、UUID (v4)などのランダム性の高いIDをプライマリキーに設定すると、パフォーマンスが低下すると言われています。私自身もこの問題については認識しておりアンチパターンとして避けて来ましたが、イマイチ理由を理解できず何度も調べていたので自分の理解を整理しました。 ※ この記事は令和トラベルのTech LT会で共有した内容を記事にしたものです。社外の方にもご参加いただけるTech LT会は connpass にて告知しています。 UUIDをプライマリキーにするユースケース そもそもUUIDをプライマリキーにするユースケースはどのようなものがあるのでしょうか? いくつかの観点から考えてみます。 パフォーマンス観点 大量の同時書き込みが発生するような状況でauto incrementを利用してIDを発

                                                        MySQLでUUIDv4をプライマリキーにするとパフォーマンス問題が起きるのはなぜ?(N回目)
                                                      • 開発生産性を標榜して効率に拘泥するチームはゆるやかに衰退する

                                                        この記事は前作 開発生産性の可視化サービスから何を見いだして何ができるのか、あるいはすべきで無いこと に続き、開発生産性へのスタンスを整理したい2作目です。 効果・成果よりも効率を優先することは生産性か? 開発生産性と言いながら単なるアクティビティの量や時間を見て効率改善を志してしまういくつかの状況、一部の風潮に対して疑問を呈したい。 例えば、PRやイシューの起票数などアウトプット量の高低に一喜一憂する 例えば、変更のリードタイムやデプロイ頻度の増進を過度に重視する 例えば、サイクルタイムの各時間を人間の努力のみで短縮しようとする それにも関わらず、開発がもたらしたユーザーへの効果やビジネス上の成果に無関心というのは順序おかしいよね、という話。 などと考えていたら開発生産性カンファレンス2024 - 登壇資料まとめ|610を見る限り、近しい主旨の論説を散見するに至り、もしかしたら世間の議論

                                                          開発生産性を標榜して効率に拘泥するチームはゆるやかに衰退する
                                                        • 負荷テストツール「k6」入門

                                                          こんにちは。 PharmaX でエンジニアをしている諸岡(@hakoten)です。 この記事の概要 APIの負荷テストツールにGrafana Labs社が開発している「k6」というツールがあります。 k6はオープンソースのCLIツールですが、 「Grafana Cloud k6」というクラウドベースSaaSツールも提供されている便利なツールです。 ローカルのk6は、負荷テストの時に使ったことはあったのですが、真面目に負荷テストの設計をするにあたり、ちゃんと理解したかったため、改めて基本から調べてみました。k6の入門記事としてお役に立てれば嬉しいです。 インストール Macでは、k6を「Homebrew」でインストールすることができます。

                                                            負荷テストツール「k6」入門
                                                          • クラフトワークの「フクシマ 放射能」パフォーマンスが差別なのか、Xで議論に

                                                            Manabu Murata a.k.a J @muratamuramura KURUUCREW所属 & AKBK所属 & GuitarFeedbacker VS NoiseDestroyer(w/ Napalm K)所属 & 海風土(w/ tentenko)所属 稀にサブカルコマンドーJ p-vine.jp/artists/kuruuc… Manabu Murata a.k.a J @muratamuramura クラフトワーク今年5月のライブでもno nukes坂本教授バージョンのRadio-Activityやってた。12年経ってもこのバージョンを世界中でパフォーマンスしてる事実に感謝しかない。今日の苗場でもこれやるだろうし、何か感じたら浪江から楢葉まで6号線を車で走ってみるだけでも思う事はあると思います。 pic.twitter.com/sdE2QwnGAJ Manabu Murata

                                                              クラフトワークの「フクシマ 放射能」パフォーマンスが差別なのか、Xで議論に
                                                            • explainだけじゃわからない!MySQLのindexの考え方 - BASEプロダクトチームブログ

                                                              はじめに こんにちは、バックエンドエンジニアのSakiです!バックエンドでPHPを書いたり、PHPという言語そのもののメンテナーもしています。 この度、注文データダウンロードAppのパフォーマンスをアップさせるため、とても入念にデータベースまわりの処理を見直しました。その中でも特に速度に関わってくる「index」についての考え方をまとめたいと思います。 この記事はMySQL(InnoDB)についての記事であり、他のRDBについては当てはまらない場合もあるということにご注意ください。 indexとは何か、おさらい ご存知の方ももちろん多いと思いますが、indexについておさらいさせてください。 indexとは辞書でいうところの目次に相当するもので、目的のデータをいち早く検索するために重要なものです。もし辞書に目次が存在しなかった場合、目的の情報を探すのにとても苦労するだろうというのは想像しや

                                                                explainだけじゃわからない!MySQLのindexの考え方 - BASEプロダクトチームブログ
                                                              • JavaScript 実行エンジン V8 の JIT 出力コードを読んでみよう

                                                                Chrome の JavaScript はとても高速なことでも有名ですが、その実行エンジンは V8 と呼ばれます。V8 自体は独立したモジュールであり、Node.js 等にも使われております。 V8 が JavaScript を高速に実行する技術の一つが JIT (Just In Time) コンパイルです(一般的に JIT と呼ばれます)。これは、そのまま実行すると遅い JavaScript を実行中にリアルタイムに直接マシンコードに変換し(これが Just In Time と呼ばれる所以です)、途中からそのコードに入れ替えて実行することで高速化を達成しています。特に何度も実行される関数で効力を発揮します。 JIT という名前は聞いたことがあろうとも、実際に JIT がどのようなコードを実行しているのかを確認する機会は滅多にないでしょう。この記事では、実際に V8 の JIT の出力を確

                                                                • AWS、高速起動にこだわった軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開。AWS Lambdaでの利用にフォーカス

                                                                  AWS、高速起動にこだわった軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開。AWS Lambdaでの利用にフォーカス Amazon Web Services(AWS)は、実験的な実装としてサーバレス環境のAWS Lambdaで使うことにフォーカスした軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開しました。 LLRTはRustで開発され、JavaScriptエンジンにはQuickJSを採用しています。 LLRTの最大の特徴は、現在のJavaScriptランタイムにおいて性能向上のために搭載されているJITコンパイラをあえて搭載せず、よりシンプルで軽量なランタイムとして実装することで高速に起動することにこだわっている点です。 これにより(Node.jsやDenoや

                                                                    AWS、高速起動にこだわった軽量なJavaScriptランタイム「LLRT」(Low Latency Runtime)をオープンソースで公開。AWS Lambdaでの利用にフォーカス
                                                                  • スタディサプリ最大のRailsアプリケーションにYJIT+pitchforkを導入してメモリ使用量を劇的に削減するまで - スタディサプリ Product Team Blog

                                                                    こんにちは。SREのkyontanです。Rubyが大好きなのでRubyの話をします。ちなみにリクルートはRubyKaigi 2024へGold Sponsorとして協賛しています! *1。ぜひ沖縄でお会いしましょう。 これはあるアプリケーションのメモリ消費量を示すグラフなのですが、まさかgemを入れ替えるだけでこんなに嬉しい変化が見られるとは思っていませんでした。今日はそんなgemの話をします。 話は遡って2023年4月のある日、インターネットを眺めていたところ、ShopifyがpitchforkというOSSを公開したという情報が目に留まりました。 調べてみると、どうやら著名なRackサーバー実装の1つであるunicornの派生版であり、メモリ使用量の削減に特化しているらしいのです。 github.com これはスタディサプリ小中高のあのリソースドカ食いマイクロサービス第一位である api

                                                                      スタディサプリ最大のRailsアプリケーションにYJIT+pitchforkを導入してメモリ使用量を劇的に削減するまで - スタディサプリ Product Team Blog
                                                                    • MySQL(InnoDB)のSQLパフォーマンスチューニングのエッセンス

                                                                      はじめに MySQL(InnoDB)でSQLのパフォーマンスチューニングをするときに役に立つ知識をエッセンスとしてまとめました。結合(JOIN)やB-treeインデックスの探索の仕組み、実行計画の基本的な見方を紹介します。 想定する読者は、SQLのパフォーマンスを改善する必要があるが実行計画をみてもいまいちピンと来ない方です。インデックスの作成の経験や、複合インデックスやカーディナリティの知識があることを前提にしています。目標は、実行計画の内容がよく分からない読者が、実行計画をみただけでクエリが実行される様子をイメージでき、自信を持ってクエリの改善にあたることができるようにすることです。 ストレージエンジンはInnoDBを前提としています。また、インデックスはB-treeインデックスを想定しています。全文検索の転置インデックスや空間検索のR-treeインデックスについては触れません。 イン

                                                                        MySQL(InnoDB)のSQLパフォーマンスチューニングのエッセンス
                                                                      • Ultimate Guide to Improving MySQL Query Performance

                                                                        MySQL is certainly a powerful open source database management system, but even the most robust engine struggles when queries take an eternity to execute. For DBAs and developers, improving MySQL query performance is an ongoing goal. Efficient query performance is crucial for ensuring the smooth operation and optimal user experience of applications powered by MySQL databases. When businesses rely h

                                                                          Ultimate Guide to Improving MySQL Query Performance
                                                                        • 【大原雄介の半導体業界こぼれ話】 CPU処理性能向上の歴史というか、苦闘の歴史

                                                                            【大原雄介の半導体業界こぼれ話】 CPU処理性能向上の歴史というか、苦闘の歴史
                                                                          • レスポンシブ対応の遅延画像が「sizes=auto」を使用すると簡単に実装できるようになります

                                                                            朗報です! 来年の2024年に、ブラウザはCSSから画像の実際の幅を取得し、それを画像のサイズとして使用することができるようになります。 srcsetで遅延読み込みされた画像の場合、ブラウザはsrcsetからソースURLを選択するために画像のレイアウト幅を使用できるようになります。 Add sizes=auto to lazy-loaded <img> これにより、Webデベロッパーはsizes属性を省略したり、loading=lazyを持つ<img>要素に対して明示的にsizes=autoを設定することができます。 ブラウザは、画像のレイアウト幅にsrcset属性の値を使用します(遅延画像は、レイアウトが判明するまで読み込みを開始しません)。遅延ではない画像の場合は無効で、100vwと同等になります。 sizes=autoはレスポンシブ対応の<img>に特に強力です。複数のバージョンの画

                                                                              レスポンシブ対応の遅延画像が「sizes=auto」を使用すると簡単に実装できるようになります
                                                                            • なぜコーディングにVSCodeを使うのか。 私がVSCodeを選んだ理由

                                                                              この記事について この記事は、スマートフォン時代のWebデザインスクール や Web制作の基礎から学べる「Webコーディングスクール」 の資料制作をお手伝いして頂いているemiさんによる寄稿記事です。 コーディングを始めたい、コーディングにVSCodeというものを使うということはわかってるけど、なぜこれを使うんだろう。VSCodeの何が便利なんだろう。と思っている初心者の方に特に読んでほしいと思い書いています。 VSCodeを使うようになったきっかけ コードエディタ難民だった自分がいくつか試したのちに、Adobeが開発していたコードエディタBracketsに出会いました。拡張機能も追加しやすくてテーマも選べるし、使いやすい。とBracketsで落ち着いていたのですが、ある時「サポート終了になる」ということを知りエディタは何を使おうか…となり、その当時使い始める人が少しずつ増えていたVSCo

                                                                                なぜコーディングにVSCodeを使うのか。 私がVSCodeを選んだ理由
                                                                              • Goodbye to sequential integers, hello UUIDv7!

                                                                                At Buildkite, we've historically stored our data with two keys. We use sequential primary keys for efficient indexing, and UUID secondary keys for external use. The upcoming UUIDv7 standard offers the best of both worlds; its time-ordered UUID primary keys can be utilized for indexing and external use. This blog post will take you on the journey Buildkite took that led to our eventual adoption of

                                                                                  Goodbye to sequential integers, hello UUIDv7!
                                                                                • 今更聞けないDBMSのメモリ管理について

                                                                                  DBMSのメモリ管理について データベース管理システム(DBMS)の設計では、大量のデータと複雑なクエリを処理するために、ハードウェアの特性を最大限引き出すことが求められます。 この記事では、DBMSがどのようにメモリを使ってデータアクセスの速度を向上させ、同時にデータの安全性を確保しているのかを解説します。 DBMSと記憶装置の関係について DBMSが使う記憶装置は次の2つです。 HDD HDDは磁気ディスクを使用してデータを記録・読み取りする記憶装置です。その主な特徴は大容量であり、コスト効率が良いことです。DBMSでは、データの永続的な保存にHDDが用いられます。これにより、システムがシャットダウンされた後もデータが保持され、必要に応じて再びアクセス可能となります。 しかし、HDDのデータアクセス速度はメモリに比べて遅いため、リアルタイム処理や高速なトランザクションが求められるアプリ

                                                                                    今更聞けないDBMSのメモリ管理について