世間ではAppleの新しい製品に使われるARM64 CPUであるM1の話題でもちきりだ。ただし、日本語を話す記者というのは極めて非科学的かつ無能であり、M1の現物を手にしても、末端のソフトウェアを動かして、体感で早いだの遅いだのと語るだけだ。そういう感想は居酒屋で酒を片手に漏らすべきであって、報道と呼ぶべきシロモノではない。 と思っていたら、Phoronixがやってくれた。M1とi7で動くmacOSでベンチマークをしている。 これを考察すると、M1のMac Miniは、一世代前のi7のMac Miniに比べて、メモリ性能とI/O性能が高く、演算性能は低いようだ。このことを考えると、M1の性能特性としては、動画のエンコードやソフトウェアレイトレーシングをするには不向きだが、その他の作業は遜色ないだろう。 問題は、仮想化とRosettaを組み合わせることができないという点だ。x86-64のユー
ビデオカードのメモリが増設できない理由について、昔この業界に関わったことがある俺が説明してみる。理由は2つで、技術的ハードルが高い点と需要が無いという点である。 その1 技術的ハードルについて現在主流となっているビデオカードのメモリはGDDR6という規格である。こいつは16Gbpsでデータを転送できるんだが、1bitのデータのやりとりに使えるのはわずか62.5ピコ秒しかないということだ。これってメチャクチャやばい話で、僅か数mmの配線長の違いでも信号のタイミングのずれに影響してしまう。PC系のニュースサイトでビデオカードからクーラーを外した写真がよく掲載されているので試しに見てほしいのだが、タイミングずれが起きないようにGPUの周りを囲むように等距離になる位置にメモリが配置されているのがわかるだろうか?また、このような配置には、配線距離が短くなるメリットもあるのだ。 一方、PCに使われるメ
マルチクラウド展開にまつわる既成概念を覆すより データ転送では、特に長距離の場合にレイテンシ(遅延)が問題になることがありますが、現在はすべてのクラウド・プロバイダーがそれぞれの物理インフラストラクチャを互いの近くに配置(専門用語では「コロケーション」)しているため、これはさほど問題となりません。この近接性(場合によっては同一コロケーション施設内の別の部屋)は、クラウド間のレイテンシがミリ秒単位であることを意味します。それに加え、クラウド・データセンター・リージョンは世界中で増加しており、クラウド・リージョン間の距離は縮まっています。 という事で、レイテンシ(遅延)について、まとめてみてみます。 ■ Agenda レイテンシ(遅延)とスループット(帯域幅) レイテンシと TCP の動作 帯域幅遅延積(Bandwidth-Delay Product) TCP Window Size の調整と
※DXはデジタルトランスフォーメーションではなくてDeveloper Experienceの方です 2020/05/26追記 https://qiita.com/nanasess/items/16ab9274c34bdc34e567 を使うことでVagrantを経由せずにDocker for Macの機能だけでMutagenを使うことができるようになりそうです。 パフォーマンスの測定はしていませんが、Docker for Macの設定のみでこの記事の手法と同等の速度が出るようになるかもしれません。 概要 Macでネイティブでの動作とほぼ同等の速度の安定したDocker環境を手に入れることができたので、その知見について公開します。 ものによりますが、最大10倍程度パフォーマンスの向上が見られました。 具体的な手法としてはVirtualBox + Dockerを用います。 設定は2ファイル50
普段何気なく目にしているウェブサイトも、裏ではさまざまなフレームワークを活用しています。「Web Framework Benchmarks」はそうしたフレームワークたちがアクセスをさばくときの処理速度を計測してベンチマークにまとめたもので、2013年に公開されて以降、年々アップデートが積み重ねられて多種多様なフレームワークの実力を一目で確認できるようになっています。 TechEmpower Framework Benchmarks https://www.techempower.com/benchmarks/ 上記のURLへアクセスすると、2020年5月28日にアップデートされた「Round 19」の内容が表示されます。 こんな感じでテスト結果がランキング形式で表示されます。さまざまなテスト結果が掲載されていますが、最初に表示される「Fortunes」はデータベースを読み取ってHTMLを生
2019年9月5日,日本最大のゲーム開発者会議CEDEC 2019の2日めにバンダイナムコ研究所の森口明彦氏から,「芯(シン)・遅延対策2020 〜ヒトのスペックから導かれる安定性重視とフレームレートのベストプラクティス」と題する講演が行われた。 ゲームの体験で大きな問題になりうる「遅延」については,CEDECでもたびたび取り上げられ,森口氏も何度かCEDECで講演を行っている。遅延はプレイヤーの操作から画面に反映されるまでの時間差のことを指すものだが,今回の講演では,プレイヤー側の事情に踏み込んでどの程度の対策が必要とされているのか,どの程度の対策があれば十分なのかなどについて定量的な分析と考察が披露されたので,そのあたりを中心に紹介してみたい。 ゲームの処理サイクル(左)と人間の処理サイクル(右)。それぞれが一定の周期で処理を進めている 人間に対する視覚や聴覚の処理は小脳の運動中枢の一
Web Vitals Stay organized with collections Save and categorize content based on your preferences. Web Vitals is a Google initiative to provide unified guidance for web page quality signals that are essential to delivering a great user experience on the web. It aims to simplify the wide variety of available performance-measuring tools, and help site owners focus on the metrics that matter most, the
最近,量子コンピュータの話題をニュースや新聞で見かけることが増えてきました. その中で気になってきたのが,組合せ最適化と量子コンピュータ(特に量子アニーリング)に関する怪しい言説.私自身は(古典コンピュータでの)組合せ最適化の研究をやってきて,量子コンピュータを研究しているわけではないのですが,さすがにこれはちょっと・・・と思う言説を何回か見かけてきました. 最近の「量子」に対する過熱ぶりは凄まじいので,こういう怪しい言説が広まるのは困りものです.すでにTwitter上には,“組合せ最適化は今のコンピュータでは解けない”とか“でも量子なら一瞬で解ける”という勘違いをしてしまっている人が多数見られます*1. さすがに危機感を覚えてきたので,この場できちんと指摘しておくことにしました. 今北産業(TL;DR) “古典コンピュータは組合せ最適化を解けない” → 古典コンピュータで組合せ最適化を解
Webシステムにおいて「画像や帳票等のファイルはDBへ格納すべきなの?」を調べてみた(ファントムファイル)oracleWeb この記事は、 JPOUG Advent Calendar 2023 24日目の記事です。 23日目は multilayer さんの記事『OCIのLanding Zoneについて調べてみた!』でした。 想定読者 ファントムファイルについてよく知らない、帳票の扱い方をあまり考えたことがない人 イントロダクション 皆さん、世の中のWebシステムで利用される画像や帳票ファイルがどこに保存されているかご存知でしょうか? 帳票や大きな画像ファイルなどを扱う際、大きく分けて2つの設計方針があります。 ・DBに直接保存する ・DB外部に保存し、パスなどをDBに保存する オライリーのSQLアンチパターンの、”ファントムファイル”という章にはこのあたりのことが書いています。 [Amaz
ウェブブラウザはネットワークから様々なリソースを集め、それらを処理して組み合わせてウェブページをレンダリングします。リソースが揃わないとレンダリングできないので、この一連の処理のどこかが遅れるとページの表示も遅くなります。レンダリングをすみやかに開始できるようにウェブブラウザはリソースの取得やその処理を最適化するための API を提供しています。本記事ではそれらを網羅的に紹介し、ウェブアプリの性能改善を図る上でどのようなブラウザ機能が使えるのかを知ってもらうことを目的としています。各機能の具体的な適用事例については他の記事に委ねます。 本記事の内容は記事公開時点での情報に基づいており、閲覧時点では既に古くなっている可能性があります。最新の正確な情報は一次情報源を参照してください。また特定のブラウザ実装について言及する場合は、断りがない限り Chrome を想定しています。誤りや補足、質問な
米ホワイトハウスの構内を歩くドナルド・トランプ大統領(2020年5月26日撮影)。(c)Brendan Smialowski / AFP 【5月27日 AFP】 米国のドナルド・トランプ(Donald Trump)大統領は27日、米交流サイト(SNS)大手ツイッター(Twitter)が自身の投稿2件に「根拠なし」とのラベルを付け、虚偽の主張の注意喚起を行ったことを受け、各種ソーシャルメディアプラットフォームを閉鎖する可能性を示唆した。 トランプ氏はツイッターで、「共和党は、ソーシャルメディアプラットフォームが保守派の声を完全に遮断しようとしていると感じている。こんなことが現実になる前に、われわれは(各種プラットフォームを)強く規制するか、あるいは閉鎖するだろう」と主張した。(c)AFP
「入門 監視」を読んだ フロントエンド監視 なぜフロントエンド監視が必要なのか どうやってフロントエンド監視をしているのか Runbookを作ろう なぜRunbookが必要なのか Runbookをどう使っていくか 監視の民主化 勉強会開催 今後 こんにちは!インフラチームの小林です。 今回はインフラチームが現在取り組んでいる、運用環境の改善施策を紹介します。 「入門 監視」を読んだ 2019年01月 に「入門 監視」という本が O'Reilly Japanから出版されました。 www.oreilly.co.jp 『システムをどう監視したらよいのか』『監視の仕組みをどう作ったらよいのか』について紹介している本です。 実践したい事、反省する事だらけですが、フロントエンド監視とRunbook作成から始めています。 フロントエンド監視 なぜフロントエンド監視が必要なのか Webサイトの表示スピード
こんにちは、@p1assです。 この記事は、LT 会のために作った Web サービスが何故かバズって Twitter トレンド 1 位 になってしまい、ひぃひぃ言いながら行った負荷対応をまとめたものになります。 スケーラビリティを全く考慮していない LT 会用の雑な Web サービスを、どのように改善していったのかについてまとめることで、個人開発者の参考になれば良いなと思っています。 なお、ここで書かれている内容は Production Ready なサービスを作る上では当たり前なことがほとんどです。本当の高負荷トラフィックを裁くための知見は出てこないので、予めご了承ください。 作った Web サービス「生活習慣の乱れを可視化するやつ」 最初に作った Web サービスを紹介しておきます。「生活習慣の乱れを可視化するやつ」という Web サービスを作りました。 このアプリは Twitter
起こってほしくはないのですが、あらゆるWebサービスは完璧に動作する状態を維持することは難しく、やはり障害対応・トラブルシューティングといった作業が発生します。 筆者は普段仕事で障害対応を不幸なことによくやるのですが、障害対応のスキルというのはスピードや判断の正確さが求められるせいか、今までやったことがある人・ノウハウがある人に集中し、それ以外の人は眺めるだけ・あとからログを見返すだけの状態によく陥ることがあります。 これはWebサービスを開発・運用するチームとしてみたときにそういった苦労が特定の人に集中するのは良くないので、それを緩和する目的として、筆者が障害対応時に考えていることを記述してみます。なお、これが唯一の正解ではないとは思っているので、ツッコミや、自分はこう考えているよというのを教えていただければ幸いです。 具体的な手法を避けて思考の方法を述べているのは、障害というのはパター
モチベーション なぜRustを選んだか? 私はQEMUは「アーキテクチャエミュレーション界のLLVM」だと思っている QEMUが高速な理由:TCG Binary Translation ゲスト命令(RISC-V) → TCG → ホスト命令(x86)の処理をRustで作ろう RISC-Vの命令をフェッチしてデコードする RISC-Vの命令をTCGに変換する TCGをx86に変換する 実装結果 Binary Translation実行を高速化するための様々なテクニック BasicBlock分まで複数命令をまとめて変換 TCG Block Chainingの実装 評価結果 TB Lookup and Jumpの実装 評価結果 まだ完成していないところ 一部の最適化はまだ未実装となっている ゲストアーキテクチャがx86のみとなっている。TCGによる複数プラットフォーム対応として、まずは環境のそろ
(This post is also available in English.) この記事は In defence of swap: common misconceptions を 著者の Chris Down さんの許可 を得て Hiroaki Nakamura が日本語に翻訳したものです。 原文のライセンス は CC BY-SA 4.0 であり、翻訳のライセンスも同じく CC BY 4.0 とします。 長文を読みたくない方への要約: スワップを持つことは正しく機能するシステムのかなり重要なポイントです。 スワップが無ければ、まともなメモリ管理を実現することは難しくなります。 スワップは一般的に緊急事態用のメモリを取得するためのものではなく、メモリの回収を平等に効率的に行うためのものです。 実のところ「緊急事態用のメモリ」は一般的に盛大に悪影響を及ぼします。 スワップを無効にすることは
2020/5/26 再検証記事追加追記 Twitter でのご指摘を受けて再検証しました, 転送先のファイルを削除していないために差分転送になっていた点を考慮したものとなっています。 rsync の速度については結果が変わっています。 www.kangetsu121.work TL;DR scp はセキュリティ, 今後の開発優先度を考えて公式で非推奨宣言している 転送速度は (1GB のファイル転送の計測では) rsync >> scp > sftp Twitter でコメントをいただき, 転送ファイルの削除を都度していないので, rsync が差分転送になっているとのご指摘をいただきました。 ただいま検証中ですので, rsync の速度比較結果については判断をお待ちください。 -> 再検証しました, 画面上部の再検証記事をご確認ください rsync は多機能 かつ速い ので rsync
SmartHRで届出書類という機能を担当しているプロダクトエンジニアのsato-sと申します。 今日は、以前私が調査にとても苦労したパフォーマンス上の問題の話を紹介したいと思います。 TL;DR PostgreSQLのアップグレードを実施した アップグレード後、今までは問題のなかった特定のクエリの実行に1時間超かかり、DBのCPU使用率がピッタリ100%に張り付くようになった 色々調査した結果、PostgreSQL上の型キャストの場所のせいで、良くないクエリプランが選択されることが原因だった 型キャストの場所には気をつけよう PostgreSQLのアップグレードと挫折 SmartHRでは基本的にWebアプリケーションのデータベースとしてGoogle CloudのCloudSQLによって提供されるPostgreSQLを利用しています。 私の担当している届出書類機能では、利用中のPostgre
はじめに この記事では、モノタロウの基幹系を構成するシステムの一つである、商品情報管理システム(PIM:Product Information Management システム)の導入プロジェクトで、商品情報を基幹系と同期するシステム(商品情報同期機能)の性能や運用環境の改善を行った話をご紹介します。 背景 モノタロウの基幹系は、長年内製のシステムで支えられてきました。基幹系のシステムは、少数のWebアプリケーションと多数のバッチから構成されています。中でも商品情報の管理に関するシステムは、在庫や仕入先に関するシステムと一体化していて、商品情報に関する数多くのマスタメンテナンス画面を備えたやや複雑なシステムです(図1)。 図1 基幹系の概略図 当社のシステムは、もともと自分たちのビジネスに必要な機能を提供する手頃なパッケージ製品がなかったため、すべてを内製でまかなってきたという経緯があります
ユニコーンを目指すスタートアップのパフォーマンス改善 木村和貴氏(以下、木村):ありがとうございます。それでは準備ができましたので、三木さんよろしくお願いいたします。 三木明氏(以下、三木):はい、よろしくお願いいたします。僕がパワーポイントでのマウス操作が超苦手なので、今日は「GitPitch」を使わせていただいています。「Performance Hack 101」ということで、パフォーマンス改善方法を自己紹介ついでに話したいと思います。よろしくです。こんちわーす! 会場:こんちわーす! 三木:あざーす! みなさんのパフォーマンスが高いので、この時間に来れるってすばらしい。 僕はRepro(リプロ)の三木っていいます。左を見ていただくとわかるけど、スタートアップを立ち上げたり、いろいろと失敗したりしているいわゆるスタートアップおじさんです。今Reproの創業者兼CTO、VPoEをやってい
スマートフォンに比べれば進化の速度が遅いものの、パソコンも少し古くなるとOSの動作が重くなったり、サポートが打ち切られたりします。 Googleが新たに早期アクセスを開始した「Chrome OS Flex」はMacやWindowsパソコンに無料でインストールできるOSであり、動作が軽いため古くなったパソコンを蘇らせることができます。 無料でダウンロードできる「Chrome OS Flex」 Chrome OS FlexはGoogleが開発する、無料で利用できるOSです。 元々はCloudReadyという名前で公開されていたChromiumベースのOSでしたが、Googleが買収し、「Chrome OS Flex」として早期アクセスが開始されました。 WindowsやmacOSに比べると軽量なOSであり、古いパソコンを蘇らせることができるでしょう。 利用可能な機能はChromebookと同じ
はじめにこの記事の対象読者は「機能しているスクラム開発チームのメンバーないし関係者」をイメージしています。 また会社のフェーズや資本状況、フルタイムでないメンバーを雇いたいなどのコンテキストもあるので業務委託が一概に悪とは言いません。 単純に相性が悪いってだけです。 また相性が悪くてもチームが即崩壊するとかそう言う話でもないです。 僕は業務委託の人が嫌いなわけではありません。ただスクラム開発と相性悪いな(主に単価的な意味で)と思っています。 あとここで言うSES的に送り込まれる業務委託の人の単価は月100万~150万円くらいです。 実は「業務委託契約」とは限らないWeb界隈の一部の慣行として「協力会社(個人を指す)」とほぼ同義語として「業務委託」は使われています。「業務委託」と呼ばれる個人に対してリーダーが指揮命令権を持ちます。契約形態は関係ありません(パねぇな)。 実態の契約形態が業務委
ウェブのフロントエンド開発に役立つライブラリとして、VueとReact、Angularがよく取り上げられます。これらのライブラリは、SPA(シングルページアプリケーション)の開発に役立つ多くの機能を持っています。 フレームワークを選定するには、「人気だから使う」という短絡的な理由で選択をするのは望ましくありません。設計思想や機能の種類、学習コストなどの観点で、プロダクト・プロジェクトチームへの適性を検討するのがセオリーです。幸いにも、それぞれを比較した記事がウェブに数多くあり、選定のヒントを簡単に得ることができます。 一方、機能面の比較ばかりが取り上げられ、性能面で紹介されている記事が少ないように見受けられます。記事『サービスにおいて速さこそが神である|深津 貴之』でも紹介されているように、昨今のウェブはスピードが求められる時代でもあり、ライブラリの性能評価の記事があってもよいのではないで
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く