並び順

ブックマーク数

期間指定

  • から
  • まで

401 - 440 件 / 731件

新着順 人気順

パフォーマンスの検索結果401 - 440 件 / 731件

  • “わずか10分”で「負荷試験環境」の構築が可能に クイックにチェックできる状況をサクッと作れる、Linode活用法

    StackScript、k8s、Terraformを使って、Linodeで負荷試験環境を自動で構築する方法について、アカマイ・テクノロジーズの岡本英輝氏と佐藤裕行氏が、実際のデモを交えて紹介しました。後半はLinodeを使った負荷試験のデモとQ&Aについて。前半はこちら。 Linodeのメリットが得られやすいユースケースとは? 佐藤裕行氏(以下、佐藤):後半は、Linodeのユースケースについて、少し岡本さんと話を進めていきたいと思うんですけども。今回はアプリケーションの負荷試験にフォーカスして、デモなども見せていきます。 その前に、負荷試験以外のサービスでいうと、こういうのに向いているとか、こういうのに向いてそうなところって、なにか感覚として持ってたりしますか? 岡本英輝氏(以下、岡本):前半に続いて、ちょっと転送量コストの話ばっかりになってしまうんですけど、やはりアウトバウンド転送量を

      “わずか10分”で「負荷試験環境」の構築が可能に クイックにチェックできる状況をサクッと作れる、Linode活用法
    • Webパフォーマンス高速化とこれからのアーキテクチャ

      CoreWebVitalsにINP(Interaction to Next Paint)が追加され、Webパフォーマンスに関するする技術は年々進化を遂げています。 このセッションでは、INPへの対策の他、BFCache、Private Prefetch Proxy、Priority Hintsなど、現…

        Webパフォーマンス高速化とこれからのアーキテクチャ
      • JS のビルドサイズを極限まで絞るための TIPS 集

        ビルドサイズ限界まで絞りたい人向け。 あらゆる環境で実践するものではないが、知ってたら簡単に避けることができるのもあるので知っておくと便利なTIPS書いていく。 基本ポリシー 未使用コードはビルド時に全部落とす。 何が未使用コードで、何が定数かわかるようなインターフェースを人間が心がける。 用語 Dead Code Ellimination(DCE) Rollup や Terser で、未使用コードを削除すること

          JS のビルドサイズを極限まで絞るための TIPS 集
        • 秒速で10億レコードを処理する話 - KaiGaiの俺メモ

          これまでのPG-Stromの性能測定といえば、自社保有機材の関係もあり、基本的には1Uラックサーバに1CPU、1GPU、3~4台のNVME-SSDを載せた構成のハードウェアが中心だった。*1 ただソフトウェア的にはマルチGPUやNVME-SSDのストライピングに対応しており、能力的にどこまで伸ばせるのかというのは気になるところである。 そこで、方々に手を尽くして、次のようなベンチマーク環境を整備してみた。 (機材をお貸し頂いたパートナー様には感謝感激雨あられである) 4UサーバのSYS-4029GP-TRTというモデルは、GPUをたくさん乗っけるためにPCIeスイッチを用いてPCIeスロットを分岐している。ちょうど、PCIeスイッチ1個あたり2個のPCIe x16スロットが用意されており、同じPCIeスイッチ配下のデバイス同士であれば、完全にCPUをバイパスしてPeer-to-Peerのデ

            秒速で10億レコードを処理する話 - KaiGaiの俺メモ
          • Linuxサーバーの最適化: vmstatとiostatを活用した性能分析と対処法 - Qiita

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

              Linuxサーバーの最適化: vmstatとiostatを活用した性能分析と対処法 - Qiita
            • Linux Performance

              static, benchmarking, tuning: sar, perf-tools, bcc/BPF: bpftrace, BPF book: Images license: creative commons Attribution-ShareAlike 4.0. This page links to various Linux performance material I've created, including the tools maps on the right. These use a large font size to suit slide decks. You can also print them out for your office wall. They show: Linux observability tools, Linux static perfor

              • 今、外部メモリスロットを備えたスマートフォンが減っている理由

                近年のスマートフォンでは、iPhoneだけでなく、Android端末でも外部メモリスロットを使用できない機種も多く存在している。その理由はなぜか、考察したい。 外部メモリスロットを搭載しないスマートフォンの代名詞として、AppleのiPhoneが挙げられる。加えて近年ではAndroidスマートフォンにおいても、10万円クラスのハイエンド機種を中心に外部メモリスロットを利用できない機種が販売されている 2021年、日本でキャリアが発売した10万円以上のスマートフォンにて、外部メモリスロットを利用できる機種は、ソニーのXperiaシリーズとシャープのAQUOS R6(ソフトバンクより発売のLEITZ PHONE1を含む)にとどまった。SIMロックフリーで展開されたハイエンド機でもASUS Zenfone 8 Flipに限られる。 ハイエンドと呼ばれるスマートフォンで外部メモリスロットが利用でき

                  今、外部メモリスロットを備えたスマートフォンが減っている理由
                • 「スクラムマスターを雇うときに聞いてみるとよい38個の質問」に答える - Qiita

                  ryuzeeさんの記事で紹介されていたスクラムマスターを雇うときに聞いてみるとよい38個の質問 に答えてみました。 38個すべてに一度に答えていこうとするとかなりハードですが、1日1個ずつこつこつと、回答をしていっています。 この回答は、年月を重ねることに変わっていくかもしれません。 2019/12時点の回答がこちらです。 スクラムマスターの役割について 1. アジャイルマニフェストでは「プロセスやツールよりも個人と対話を」といっている。プロセスを守らせるスクラムマスターは、それとは反対のことをしているのではないか? スクラムマスターはプロセスを順守する・させるためだけの存在ではありません。プロセスを順守する行為は「どのように行うのか(How)」を守らせることに注力してしまいがちですが、「なんのために行うのか(Why)」のほうを重視すべきです。 アジャイルにおけるチームの成功は、「よいプロ

                    「スクラムマスターを雇うときに聞いてみるとよい38個の質問」に答える - Qiita
                  • 実践 9 つのメモリリークどう見つける?/ How to detect 9 types of memory leaks?

                    iOS Test Online 2022/10/28 https://testonline.connpass.com/event/261910/

                      実践 9 つのメモリリークどう見つける?/ How to detect 9 types of memory leaks?
                    • ネイティブコンパイルEmacsの登場

                      日本時間の2021年4月26日午前3時6分、Emacsのmasterブランチにfeature/native-compブランチがマージされました(コミット:Merge branch ‘feature/native-comp’ into into trunk)。これにより、HEADのEmacsをビルドすると、Native compilation機能を兼ね備えたネイティブコンパイルEmacs、通称Gcc Emacsが使えるようになりました。 ネイティブコンパイルEmacsの機能 # ネイティブコンパイルEmacs(以下、Gcc Emacsと呼びます)は、Andrea Corallo、Luca Nassi、Nicola Mancaの3名によるBringing GNU Emacs to Native Code という論文で詳細が説明されています。 簡単に説明すると、これまでのEmacsは、Elisp

                        ネイティブコンパイルEmacsの登場
                      • SvelteはなぜReactよりも優れているのか

                        Svelte は比較的新しいフレームワークです。主に、仮想 DOM の課題が浮き彫りになってきた後で、それを解消しようというモチベーションで開発されています。なぜ Svelte が React や Vue などのように仮想 DOM を採用していにないのかについて、この記事でまとめてみようと思います。 読み書きしやすい:リアクティブなコンポーネントを実装するための"高級言語" 高速:仮想 DOM を利用しない 1. 読み書きしやすい:リアクティブなコンポーネントを実装するための"高級言語[1]" Svelte はリアクティブなコンポーネントを実装するためのコードを記述する上で一般的な UI フレームワークよりも人間が扱いやすい設計になっています。具体的に言うと、記述量が少なく、理解しやすい構文を実現しています。 例えば、React で以下のようなコンポーネントがあった場合を想定します。 im

                          SvelteはなぜReactよりも優れているのか
                        • Cloudflare、NGINXに代えて自社開発のRust製HTTPプロキシ「Pingora」をグローバルCDNに採用。性能向上しつつCPUとメモリ消費を3分の1に

                          Cloudflare、NGINXに代えて自社開発のRust製HTTPプロキシ「Pingora」をグローバルCDNに採用。性能向上しつつCPUとメモリ消費を3分の1に CDNプロバイダのCloudflareは、同社のグローバルなCDNの基盤として長らく利用してきたNGINXに代えて、同社自身がRust製のHTTPプロキシである「Pingora」を開発し利用していることを明らかにしました。 Pingoraはすでに同社のCDNに採用され、毎日1兆回以上のリクエストを処理し、性能向上や数多くの新機能の提供を実現しつつ、従来と比較してCPUとメモリリソースの消費はいずれも3分の1程度に収まっているとのこと。 Pingoraは現時点でコードなどは公開されていませんが、いずれオープンソース化の計画についても明らかにするとCloudflareは説明しています。 Today we are excited t

                            Cloudflare、NGINXに代えて自社開発のRust製HTTPプロキシ「Pingora」をグローバルCDNに採用。性能向上しつつCPUとメモリ消費を3分の1に
                          • UNIXシェルの並列化により最大34倍高速化する「PaSh」、米MITなどが開発 プログラム結果も正確

                            Innovative Tech: このコーナーでは、テクノロジーの最新研究を紹介するWebメディア「Seamless」を主宰する山下裕毅氏が執筆。新規性の高い科学論文を山下氏がピックアップし、解説する。 米ペンシルベニア大学、米MIT、ポーランドのXIV Staszic High School、米国の研究機関Aarno Labs、米Stevens Institute of Technologyによる研究チームが開発した「Practically Correct, Just-in-Time Shell Script Parallelization」は、UNIXシェルで実行されるプログラムの速度を精度を保証しながら劇的に加速させるシステムだ。 このシステムはUNIXシェルにおいて、スクリプトを先読みして並列化を行う。これによりプログラム結果を正確な上で最大34倍高速化し、Webインデックスや自然

                              UNIXシェルの並列化により最大34倍高速化する「PaSh」、米MITなどが開発 プログラム結果も正確
                            • AMD、Ryzen 7000シリーズを9月27日に発売。299ドルでCore i9-12900Kを上回るゲーム性能

                                AMD、Ryzen 7000シリーズを9月27日に発売。299ドルでCore i9-12900Kを上回るゲーム性能
                              • A Visual Guide to React Rendering - Cheat Sheet

                                When does react component re-render? What can cause the re-render, and how to prevent unnecessary renders? Here is a quick cheat sheet you can refer to whenever you find yourself asking these questions. This article serves as a table of contents for a Visual Guide to React Rendering series. Every section of the cheat sheet links to the correspondent chapter of the guide that explores a topic in de

                                  A Visual Guide to React Rendering - Cheat Sheet
                                • node.js のメトリクスの計測、ベンチマークの改善、Docker イメージの絞り方を勉強した

                                  フロントエンドのパフォーマンス計測は得意なのだが、サーバーサイド node.js のメトリクスの取り方はあまり知らなくて、いつも勘でやりがちだった。最近は業務でこの周辺で困ることが増えたので、勉強しなおした。 また、最近使ってみたかった cloudflare workers の制限で、メモリ 128MB、CPU 時間 50ms という制約があり、このためにも Node.js の CPU のメトリクスを計測できるようになっておく必要があった。 という目的を踏まえて、今回は OS やデータベースの最適化は扱わず、ネットワークとアプリケーション層だけに絞って学習した。あと仕事の Docker イメージのサイズにも悩んでたので、ここも。 (あと ISUCON 参加者が楽しそうだったのもある。 ISUCON のチューニング対象にフロントエンドは含まれないので…) 計測対象 今回実験したリポジトリはこ

                                    node.js のメトリクスの計測、ベンチマークの改善、Docker イメージの絞り方を勉強した
                                  • AppleシリコンのMacでのDocker開発環境のパフォーマンス改善

                                    プロダクト開発部バックエンド開発グループでエンジニアをしています、おかだです。 ココナラには開発環境改善委員会があり、開発スピードの維持・改善に取り組んでいます。 本日は、取り組みの一環としてAppleシリコンのMacでのDocker開発環境のパフォーマンスを5-10倍程度改善したお話をしたいと思います。 はじめに AppleシリコンのMacが発表されてから数年が経ちました。ココナラでも昨年から導入が進んでおります。新しく入社したメンバへはM1 MacBook Pro(最近だとM2)が標準で支給されるようになっており、現在はIntel MacとM1 Macが混在して利用されている状況です。 バックエンドの開発では、ローカルでの動作確認や単体テストはコンテナ内で実行できるようになっています。 Dockerパフォーマンス問題 M1 Macを導入したメンバから 単体テストが遅い 静的解析が遅い

                                      AppleシリコンのMacでのDocker開発環境のパフォーマンス改善
                                    • Pull Requestを小さくする戦略 - 開発チームのパフォーマンス向上のための第一歩 - Agile Journey

                                      Agile Journeyをご覧の皆さん、こんにちは。ZOZOの御立田です。 私が所属する株式会社ZOZOは、「世界中をカッコよく、世界中に笑顔を。」を企業理念として掲げ、ファッションEC「ZOZOTOWN」、ファッションコーディネートアプリ「WEAR」などの各種サービスの企画・開発・運営や、「ZOZOSUIT」「ZOZOMAT」「ZOZOGLASS」などの計測テクノロジーの開発・活用をおこなっています。また、カスタマーサポート、物流拠点「ZOZOBASE」を運営しています。 ファッションコーディネートアプリ「WEAR」やショップスタッフの販売サポートツール「FAANS」を手がける、私が所属するブランドソリューション開発本部では、「開発生産性を3倍に」を目標に掲げ、多くの改善を進めています。 「開発生産性」をどのように定義するかには議論がありますが、まず私たちが向き合ったのは「仕事量の生産

                                        Pull Requestを小さくする戦略 - 開発チームのパフォーマンス向上のための第一歩 - Agile Journey
                                      • キャッシュアルゴリズムの比較 - falsandtruのメモ帳

                                        アプリケーションなどOSより上に作られる高水準のプログラムではハードウェアの速度と容量を考慮しない数学的キャッシュアルゴリズムが使われ主にこれを本稿の対象とする。キー探索用マップと明示的キャッシュサイズ(対となる値が保持されているキーのサイズ)は計算量に含まれない。 LRU 最も単純かつ高性能な基礎的キャッシュアルゴリズム。そのため性能比較のベースラインとして常に使用される。逆に言えば実用最低水準の性能である。スキャン耐性皆無でスキャン一発でキャッシュとヒット率がリセットされゼロからやり直しになるため非常に脆く不確実な性能となりベンチマークにおける性能が表面上さほど悪くなく見えても実際の性能はこのような外乱により大きく低下しやすい。このためLRUより高度な主要アルゴリズムはすべて大なり小なりスキャン耐性を備えている。ちなみにプログラミング言語最大のパッケージマネージャであるJavaScri

                                          キャッシュアルゴリズムの比較 - falsandtruのメモ帳
                                        • Macで使うVS CodeとRemote Containerの性能を大幅改善 - Sweet Escape

                                          はじめに なぜ遅いのか 何をやるのか 計測 名前付きボリュームを使ってない場合 Named Volumeを使う場合 Macからどう見えているか 結論とまとめ はじめに 以前からいろんなところで話していますが、僕は普段、手元のMacには言語系のランタイムとかは入れておらずVS CodeとDocker for Macだけ入れてRemote Containersの環境で開発しています。 この環境自体はとても便利でいいのですが、一点大きな問題があります。 それは遅いということ。自分の場合は最近だとJSでの開発が多いのですが、例えばNext.jsで開発している場合に以下のような操作が特に遅く感じます。 yarn install yarn add yarn jest next dev next start next build yarn jestとかnext devが遅いのは起動だけだったりします。起

                                            Macで使うVS CodeとRemote Containerの性能を大幅改善 - Sweet Escape
                                          • Rails appをRubyコードの改善だけで50%以上高速にした話 - Money Forward Developers Blog

                                            この記事は Money Forward Engineering 2 Advent Calendar 2022 18日目の投稿です。 こんにちは。マネーフォワード関西開発拠点でマネーフォワード クラウド会計Plus (以下会計Plus)のエンジニアをしているぽっけです。 この記事では、私が行った高速化について紹介します。 私は最近Railsアプリケーションの高速化を行っており、ある画面のレスポンスタイムを50%以上削減しました。そしてこの改善はRubyレベルの変更のみで達成しました。 この記事での「Rubyレベルの変更のみ」は、MySQLやRedis、Web APIなどへのアクセスには全く手を入れず、Rubyのプロセスが消費する時間のみを変更した、ということを意図しています。 MySQLなどへのアクセスは通常ボトルネックになりがちな箇所です。今回そこに手を入れずに高速化を達成できたのは、1つ

                                              Rails appをRubyコードの改善だけで50%以上高速にした話 - Money Forward Developers Blog
                                            • 【PHP8.1】PHPで簡単に非同期処理を書けるようになる - Qiita

                                              PHPは長きにわたり同期的、すなわち、あらゆる処理を上から順に実行していくというスタイルを取ってきました。 しかしたとえば、複数のURLからデータを取ってきて結果をまとめたいといった場合、時間のかかるHTTPリクエストは同時に投げたいですよね。 この用途にはGuzzleというライブラリが存在し、これを使えば同時にリクエストを投げられます。 しかし、ではHTTPアクセスとDBアクセスを同時にやりたい場合は? 時間のかかる計算を裏でやりたい場合は? などと考え始めると、こういった個別のライブラリでは対処しきれません。 ということで汎用的な非同期処理をPHPで書けるようにするRFCが提出されました。 PHP RFC: Fibers Introduction 人類史上ほぼ全ての期間において、人々はPHPを同期的なコードとしてのみ書いてきました。 同期的に実行されるコードのみが存在し、そしてそれを同

                                                【PHP8.1】PHPで簡単に非同期処理を書けるようになる - Qiita
                                              • Linuxカーネルパラメータのチューニング&設計 - Qiita

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

                                                  Linuxカーネルパラメータのチューニング&設計 - Qiita
                                                • フロントエンドが遅いと言われた時に

                                                  Webアプリケーションで、ブラウザ上でJavaScriptを用いてAPIからデータを取得して画面に反映する挙動が遅いと言われた時にフロントエンド側が確認することと対処方法。 ユーザのボタンクリックなどのアクションをトリガーとして、APIからデータを取得し画面に反映するというシナリオがあった際に、ユーザのアクションから画面への反映に時間を要しているという状況を想定しています。 Largest Contentful Paint (LCP)が遅い場合に関しては、別のアプローチになるので今回は除外します。 本当にフロントエンドがボトルネックになっているか まず最初にすることは、APIのレスポンスタイムと、APIのデータを画面に反映する処理のどちらがボトルネックになっているかの確認です。 ユーザのアクションから画面への反映までの時間の中でAPIのレスポンスが大部分を占めている場合、プリフェッチなどの

                                                    フロントエンドが遅いと言われた時に
                                                  • MPA化するSPAとSPA化するMPA

                                                    2022/9/21 Techfeed カンファレンスで発表した MPA化するSPAとSPA化するMPA の話です。

                                                      MPA化するSPAとSPA化するMPA
                                                    • 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

                                                      • ぼくたちは Java アプリケーションの起動速度をどこまで縮められるか

                                                        AWS Dev Day 2022 で発表したJava アプリケーションの起動速度のアプローチの資料

                                                          ぼくたちは Java アプリケーションの起動速度をどこまで縮められるか
                                                        • SRE不在のチームに入って2ヶ月でやったこと - 負荷試験ツールからはじめるSREプラクティスの導入

                                                          TechFeed Experts Night#17 〜 事例で学ぶSRE 〜 ツール、プラクティスから組織づくりまで https://techfeed.io/events/techfeed-experts-night-17

                                                            SRE不在のチームに入って2ヶ月でやったこと - 負荷試験ツールからはじめるSREプラクティスの導入
                                                          • Goで開発した配信サーバーのメモリ使用量問題に向き合う - Mirrativ Tech Blog

                                                            こんにちは。ストリーミングチームの松本です。 Mirrativのストリーミングチームは、低遅延配信や、通知ぼかしというような機能を追加するため、配信のorigin serverの前段にtranscoder serverというものを導入してきました。 tech.mirrativ.stream tech.mirrativ.stream transcoder serverはGoによる内製のミドルウェアであり、主に映像の変換を行う目的で作られました。現在は配信プロトコルの変換(既存プロトコル -> 低遅延プロトコル)などを行っています。また、実際にはサーバー上のDockerコンテナ内で動作しています。 transcoder serverを展開していくにあたり、メモリ使用量が常に増え続ける問題が起きていたため、その際に直面したGoの実メモリ使用量に関する話を書きたいと思います。 メモリ使用量の増加問

                                                              Goで開発した配信サーバーのメモリ使用量問題に向き合う - Mirrativ Tech Blog
                                                            • GitHub における大規模なモノリポのパフォーマンスの向上

                                                              GitHub は、毎日 5600 万人以上の開発者にサービスを提供し、2 億以上のリポジトリをホストしています。これらのリポジトリのごく一部を除いて、世界中の顧客に驚くべきパフォーマンスでサービスを提供しています。 GitHub のような大規模なシステムでは、コードとアーキテクチャのずれというのは限界に達したときに初めて見つかるものです。例えば、何千人もの開発者が毎日同じリポジトリを更新するといったケースです。GitHub は、大規模なモノリポを使用する一部の顧客から、プッシュ操作が失敗するといったパフォーマンスの問題が発生しているというフィードバックを受けました。 そして、それは GitHub においても発生していました。 github/github は GitHub のモノリポですが、私達自身も時々プッシュに失敗することがありました。 調査を開始するにあたり、私たちは社内のチームや顧客

                                                                GitHub における大規模なモノリポのパフォーマンスの向上
                                                              • 話題の AlloyDB は本当に凄いデータベースなのでプレビューを使い倒した #devio2022 | DevelopersIO

                                                                ウィスキー、シガー、パイプをこよなく愛する大栗です。 この度クラスメソッド株式会社で開催している技術イベント DevelopersIO 2022 のアーカイブ動画セッションに登壇しましたので、ブログで解説を行いたいと思います。なお本内容は2022年6月時点の内容となっていますので、現在の状況とは異なっている場合がございますのでご了承ください。 AlloyDB for PostgreSQL は2022年7月27日現在において、プレビューのステータスです。このプロダクトまたは機能は、Google Cloud Platform の利用規約の一般提供前のサービス規約の対象となります。一般提供前のプロダクトと機能では、サポートが制限されることがあります。また、一般提供前のプロダクトや機能に変更が加えられると、他の一般提供前バージョンと互換性がない場合があります。詳細については、リリースステージの説明

                                                                  話題の AlloyDB は本当に凄いデータベースなのでプレビューを使い倒した #devio2022 | DevelopersIO
                                                                • Webフロントエンドの秩序を維持する体制を作る

                                                                  Hatena Engineer Seminar #15 (2020/12/23) での発表資料です。 https://hatena.connpass.com/event/198892/ 動画もあります: https://youtu.be/Xb5bPaTO7fs?t=376

                                                                    Webフロントエンドの秩序を維持する体制を作る
                                                                  • MySQLでUUIDv4をプライマリキーにするとパフォーマンス問題が起きるのはなぜ?(N回目)

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

                                                                      MySQLでUUIDv4をプライマリキーにするとパフォーマンス問題が起きるのはなぜ?(N回目)
                                                                    • 1KBのWebフレームワークをつくる - ゆーすけべー日記

                                                                      1KBのWebフレームワークをつくりました。 名前は「Pico」。 minifyしてビルドした模様。 コードはこれだけ。依存なし。ほんとにこれだけです。 Cloudflare WorkersとDenoで動きます。 今回はこのPicoというフレームワーク、 それに必要不可欠なURLPattern、実装について、 そして僕がつくっているもう一つのフレームワークHonoとの関係などを紹介します。 Hello World text/plainでレスポンスを返す、“Hello World"相当のコードは4行で書けます。 import { Pico } from "@picojs/pico"; const app = new Pico(); app.get("/", (c) => c.text("Hello Pico!")); export default app;

                                                                        1KBのWebフレームワークをつくる - ゆーすけべー日記
                                                                      • 負荷テストツール「k6」入門

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

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

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

                                                                            開発生産性を標榜して効率に拘泥するチームはゆるやかに衰退する
                                                                          • Pythonは遅い遅い言われてJITとか中途半端なことせずにフルネイティブコンパイラを作ったらどうですか?

                                                                            回答 (13件中の1件目) JIT方式は中途半端なものではありません。もちろん万能でなんでも優れているわけでもありませんが以下の利点があります。 * プログラムは単一の機械独立、OS独立の形式で配布できる(実行時に実行環境の機械語に変換できる) * 配布形式が小さくなる。マシン中立なバイナリ表現にした場合は特に。 * 全体をネイティブコンパイルするのではなく、速度にシビアに関わる最内周ループや何度も実行される場所に限ってネイティブコンパイルすることで実行に必要なメモリフットプリントを減らすことができる。 * 実行時だけわかる情報を元にした最適化やコード生成が可能。例えば、 *...

                                                                              Pythonは遅い遅い言われてJITとか中途半端なことせずにフルネイティブコンパイラを作ったらどうですか?
                                                                            • Webサービスエンジニアが教えるサーバサイドのログ分析 情報を可視化して負荷状況を見よ

                                                                              ログ分析勉強会は、日々の業務に役立てられる「ログ分析」についての情報交換を目的として活動しています。オンライン開催となった今回、AWSに詳しい山口氏がWebサービスのパフォーマンス改善に必要なログ分析について、日々の業務から得た知見を共有しました。後半は、サーバーサイドから見たログ分析について。 サーバ情報を可視化して負荷状況を見る 続いて、サーバの負荷状況を見るところですね。リソースの情報をコマンドで取得してサーバ情報を可視化しましょうというところです。 よく使うのは、1つ目はhtopですね。htopでプロセスごとにどれくらいのメモリやCPUを使っているかを取っていくのがあります。リクエストが多いときにこれを取っていって、どこが重たくなっているかを見るというのがいいかなと思っています。 例えばアプリケーションサーバと同梱されているものだったりとかすると、アプリケーションサーバの負荷がいき

                                                                                Webサービスエンジニアが教えるサーバサイドのログ分析 情報を可視化して負荷状況を見よ
                                                                              • オレ的EXPLAIN技を語っちゃうゾ - Qiita

                                                                                メリークリスマス 本記事はPostgreSQL Advent Calendar 2021の25日目です。今年も面白い記事がたくさん揃いましたね!!! さて、みなさん今年のPostgreSQLライフはどんな感じでしたでしょうか? 私はというと、なんだかチューニングばっかりやってました。1案件でいろいろお手伝いすることはまあまああったのですが、複数から次々チューニングの相談をもらって、歴代継承者の個性を発現したデクくんのごとく駆け回ったのが今年のハイライトです。 (この綱渡り感、、、伝われ!!!) 俺たちは雰囲気でチューニングしている 今回上手くいったけど、あの時たまたまひらめいた1案をぶつけてみたら効果でたのであって、次善の策なんてなかったけど??って毎回思ってるから、雰囲気でやっていると思う、マジで。コミュニティのノリだと笑いが起きていいんですけど、少しでも勝率を上げるために、若手の前でド

                                                                                  オレ的EXPLAIN技を語っちゃうゾ - Qiita
                                                                                • [初級編] なぜ「AWS で負荷分散は3AZ にまたがるのがベストプラクティス」と言われるのか 可用性の面から考えてみた | DevelopersIO

                                                                                  水平分散のアーキテクチャを考えるときに、「負荷分散装置の下に並べる分散先 (サーバ) は3台以上がよい」「AWS であれば3 AZ にまたがるとよい」とはよく聞かれます。それがどういう意味をもつのか、主に可用性の面から考えてみました。 みなさん、AWS使ってますか!(挨拶 AWSに限らず、ある程度の規模の何かしらの本番システムを組もうというときに、こういう言葉を聞いたことはないでしょうか。 「負荷分散装置の下に並べる分散先 (サーバ) は3台以上がよい」 「AWS であれば3アベイラビリティゾーン (AZ) にまたがるとよい」 負荷分散装置(ロードバランサー)は負荷を分散するのがお仕事です。分散するだけなら 2 台でもよさそうですよね? AWS の3 AZ に至っては、そもそも AZ 単位の障害なんてそうそうないし、あったとしてももう片方の AZ が生きていればなんとかなりそうに思えます。

                                                                                    [初級編] なぜ「AWS で負荷分散は3AZ にまたがるのがベストプラクティス」と言われるのか 可用性の面から考えてみた | DevelopersIO