記事 Tomohiro Iwamoto · 2020年8月17日 9m read SQLベースのベンチマークを行う際に、実施していただきたい5つの項目 本稿について 本稿では、InterSystems IRISを使用してSQLベースのベンチマークを行う際に、実施していただきたい項目をご紹介します。 Linuxを念頭においていますが、Windowsでも考慮すべき点は同じです。 メモリ自動設定をやめる パフォーマンスに直結する、データベースバッファサイズの自動設定はデフォルトで有効になっています。自動設定は、実メモリの搭載量にかかわらず、データベースバッファを最大で1GBしか確保しません。 更新: 2020年11月20日 バージョン2020.3から、確保を試みるデータベースバッファが実メモリの25%に変更されました。 搭載実メモリ64GB未満の場合は実メモリの50%程度、搭載実メモリ64GB以上の場合は実メモリの70%を目途に、明示的に設定を行ってください。 #SQL #パフォーマンス #InterSystems IRIS #InterSystems IRIS for Health 4 0 0 472
記事 Minoru Horita · 2020年4月30日 9m read グローバルはデータを保存するための魔法の剣です パート1 #Node.js #グローバル #パフォーマンス #リレーショナルテーブル #初心者 #Caché #InterSystems IRIS 3 0 0 524
記事 Seisuke Nakahashi · 2024年1月12日 6m read ^mypButtons を利用して InterSystems IRIS パフォーマンスをチェックしてみましょう [背景] InterSystems IRIS 製品には、便利なツール ^SystemPerformance (Caché / Ensemble 時代は ^pButtons と呼ばれていました) があり、データベースのパフォーマンス情報を HTML 形式で出力してくれます。 IRIS for Windows で ^SystemPerformance を実行すると、 InterSystems 独自のパフォーマンスログ mgstat と Windows パフォーマンスログの両方を含んだ HTML が生成されます。 #システム管理 #パフォーマンス #ヒントとコツ #Caché #InterSystems IRIS Open Exchange app 2 0 0 49
記事 Mihoko Iijima · 2021年8月11日 3m read パフォーマンス低下時の情報収集ツールについて これは InterSystems FAQ サイトの記事です。 以下のような情報収集ツールがあります。 1) 性能評価の為のツール GLOSTAT グローバルアクセスのカウンター情報 mgstat グローバルアクセスのカウンター情報を連続してファイルに記録する JOBEXAM 問題のあるプロセスをモニターする SystemCheck または Buttons 内部情報の収集 使用方法詳細は以下の記事もご参照ください。 #パフォーマンス #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 231
記事 Toshihiko Minamoto · 2023年9月5日 10m read 整合性チェック: 高速化と低速化 Caché と InterSystems IRIS データベースの整合性は、システム障害から完全に保護されてはいますが、物理ストレージデバイスが保管しているデータは、デバイスの障害によって破損してしまいます。 そのため、多くのサイトでは、データベースの整合性チェックを定期的に実行するように選択しており、特に特定のバックアップが災害時に信頼できるかどうかを検証するためにバックアップが行われています。 システム管理者がストレージの破損を伴う災害に対応するために、整合性チェックも緊急に必要となる場合もあります。 整合性チェックはチェックされているグローバルの各ブロック(すでにバッファーにない場合)を、グローバル構造で指示された順序で読み取る必要があります。 これには膨大な時間がかかりますが、整合性チェックは、ストレージサブシステムが維持できる限り高速に読み取ることができます。 #システム管理 #パフォーマンス #ベストプラクティス #Caché #InterSystems IRIS 1 0 0 114
記事 Minoru Horita · 2020年6月2日 14m read グローバルはデータを保存するための魔法の剣ですパート2 - ツリー #Node.js #グローバル #データモデル #パフォーマンス #リレーショナルテーブル #初心者 #Caché #InterSystems IRIS 1 0 0 518
記事 Mihoko Iijima · 2021年8月30日 2m read クエリをチューニングする方法 これは InterSystems FAQ サイトの記事です。 InterSystems 製品には、テーブルのコンテンツに関する統計を収集し、クエリの最適化に役立てる「テーブルチューニング機能」があります。 設定方法は、以下のドキュメントをご参照ください。 テーブルのチューニングについて【IRIS】 テーブルのチューニングについて ターミナルでは次のコマンドを実行します。 Do $system.SQL.TuneTable("<テーブル名>",0,1) また、以下の資料もご参照ください。 1) パフォーマンス調査の基礎知識として必要なグローバル構造の解説やSQLの動作の仕組みからクエリプランの見方の解説 インターシステムズ・シンポジア2011の資料 2) パフォーマンスチューニングの例(P13~) インターシステムズ・シンポジア2012の資料 3) ビットマップ・インデックスの圧縮やオプティマイザ・ヒントなど、Caché SQLのパフォーマンスを最大限に引き出すための情報について インターシステムズ・シンポジア2014の資料 4) パフォーマンスに困ったときにどこに着目し、どのツールで調べていくか、お客様から日々ご相談をいただくカスタマーサポートから、解決に向かうアプローチの「イロハ」をご紹介するビデオ 動画:Performance 101 5) 開発者コミュティのパフォーマンス関連情報(performanceタグ) performanceタグ #SQL #パフォーマンス #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 250
記事 Toshihiko Minamoto · 2021年4月19日 8m read 配列プロパティ要素のための SQL インデックス クラスの中で配列プロパティを使い、その要素 (キーと値の両方) によってスピーディに検索を実行できると非常に便利な場合があります (EAV モデルの場合は特に重宝します)。 それでは、簡単な例を見てみましょう。 #ObjectScript #SQL #インデックス付け #パフォーマンス #Caché 1 0 0 262
記事 Toshihiko Minamoto · 2022年1月11日 3m read データジャングルの視覚化 -- パート3: %SYS.MONLBLに基づくヒートマップの作成 これまでに何度もコードカバレッジとコードのパフォーマンス最適化について説明してきたため、ほとんどの方はすでにSYS.MONLBLユーティリティについてご存知かと思います。 コードを視覚的に見る方が通常は、純粋な数値を見るよりもはるかに直感的に理解できます。これが、このシリーズの記事の大きなポイントです。 今回は、Pythonとそのツールから少し離れて、^%SYS.MONLBLレポートからヒートマップを生成する方法を探りたいと思います。 簡単に言うと、ヒートマップは特定の値を色で表現してデータの要約を得ることに特化した視覚化ツールです。 このケースでは、データはコード行であり、コード行に掛けられた時間が色にマッピングされます。 #ツール #パフォーマンス #視覚化 #Caché 1 0 0 102
記事 Megumi Kakechi · 2021年6月7日 1m read IRIS Data Platformは大量のトラフィック処理に耐えられますか? これは InterSystems FAQ サイトの記事です。 Question: IRIS Data Platformは大量のトラフィック処理に耐えられますか? Answer: IRIS Data Platformは他のデータベースシステムに比較してデータの処理スピードおよび処理能力の面で優れています。 ESGという外部機関が実際に他社データベース製品とのベンチマークテストを実施した結果に関するレポートを公表しています。 またウルシステムズ社による検証結果も公開されています。 ご参考いただければ幸いです。 #パフォーマンス #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 1 1 0 172
記事 Toshihiko Minamoto · 2022年12月31日 5m read YASPE (Yet Another System Performance Extractor) jp YASPEはYAPE(Yet Another pButtons Extractor)の後継機種です。YASPEは、メンテナンスと拡張を容易にするために、多くの内部変更を行い、一から書き直しました。 YASPEの機能は以下の通りです。 「InterSystems Caché pButtons」 および 「InterSystems IRIS SystemPerformance」 ファイルを解析してグラフ化し、オペレーティング・システムおよび IRIS のメトリックを迅速にパフォーマンス解析します。 アドホックチャートを作成したり、「Pretty Performance」オプションでOperating SystemとIRISの指標を組み合わせたチャートを作成することで、より深く掘り下げることが可能です。 「System Overview」 オプションを使用すると、システムの詳細や一般的な設定オプションについて SystemPerformance ファイルを検索する手間を省くことができます。 YASPEはPythonで書かれています。ソースコードはGitHubで公開されており、Dockerコンテナ用には以下で公開されています。 https://github.com/murrayo/yaspe #システム管理 #ツール #パフォーマンス #Caché #InterSystems IRIS 1 0 0 75
記事 Megumi Kakechi · 2020年9月27日 2m read コンソールログに出力される「Pausing users because the Write Daemon has not shown...」のエラーについて これはInterSystems FAQ サイトの記事です。コンソールログ(message.log/cconsole.log)に、以下のようなログが出力される場合があります。 MM/DD/YY-hh:mm:ss:sss (pid) 2 CP: Pausing users because the Write Daemon has not shown signs of activity for xxx seconds. Users will resume if Write Daemon completes a pass or writes to disk (wdpass=yyyy). このメッセージは、コントロールプロセスが出力しています。このプロセスは、ライトデーモン(WriteDaemon)等の主要なシステムプロセスを監視しています。 #パフォーマンス #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 292
記事 Toshihiko Minamoto · 2021年6月17日 4m read Yape - さらに別のpButtonsエクストラクタ(チャートを自動作成) 注記(2019年6月): 多くの変更がありました。最新の情報についてはこちらをご覧ください。 注記(2018年9月): この記事が最初に投稿されて以来、多くの変更がありました。Dockerコンテナバージョンを使用することをお勧めします。コンテナとして実行するためのプロジェクトと説明は、以前と同じGitHubの公開場所に残っていますので、ダウンロードして実行し、必要に応じて変更してください。 #システム管理 #パフォーマンス #ヒントとコツ #ベストプラクティス #監視 #Caché #InterSystems IRIS #InterSystems IRIS for Health Open Exchange app 0 0 0 96
記事 Toshihiko Minamoto · 2020年10月19日 5m read SQL パフォーマンスリソース SQL パフォーマンスリソース SQL のパフォーマンスについて語るとき、最も重要なトピックとして取り上げられるのが「Indices」、「TuneTable」、「Show Plan」の 3 つです。 添付の PDF にはこれらのトピックに関する過去のプレゼン資料が含まれていますので、それぞれの基礎を一度に確認していただけます。 当社のドキュメンテーションでは、これらのトピックの詳細に加え、SQL パフォーマンスの他のトピックについてもカバーしておりますので、下のリンクからお読みください。 eラーニングをご利用いただくと、これらのトピックをもっと深く理解していただけます。 また、開発者コミュニティによる記事の中にも SQL パフォーマンスについて書かれたものが複数ありますので、関連するリンクを下に記載しております。 下に記載する情報には同じ内容が多く含まれています。 SQL パフォーマンスにおける最も重要な要素を以下に紹介します。 利用可能なインデックスの種類 あるインデックスの種類を他の種類の代わりに使用する TuneTable がテーブルに集める情報とそれが Optimizer に対して意味する内容 Show Plan を読んでクエリの善し悪しを深く理解する方法 #SQL #パフォーマンス #InterSystems IRIS 0 0 0 165
記事 Makiko Kokubun · 2021年7月6日 1m read 動画:Performance 101 *この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。 稼働後のシステムで、お客様から「パフォーマンスが思ったように出ない」と問い合わせを受けることが良くあります。漠然とした「遅い」状況をどのように解決すればいいのでしょう? https://www.youtube.com/embed/ul3j2ljUE3Y[これは埋め込みリンクですが、あなたはサイト上の埋め込みコンテンツへのアクセスに必要な Cookie を拒否しているため、それを直接表示することはできません。埋め込みコンテンツを表示するには、Cookie 設定ですべての Cookie を受け入れる必要があります。] パフォーマンスに困ったときにどこに着目し、どのツールで調べていくか、お客様から日々ご相談をいただくカスタマーサポートから、解決に向かうアプローチの「イロハ」をご紹介します。 #Webセミナー #パフォーマンス #InterSystems IRIS 0 0 0 103
記事 Mihoko Iijima · 2020年12月3日 3m read ストレージのパフォーマンスに関する連載 - Samsung PM1725a NVMe SSD これまでさまざまなストレージ技術とそのパフォーマンス特性の例を紹介してきましたが、今回は新しい HPE Cloudline 3150 Gen10(AMD プロセッサベースのシングルソケットサーバーで 3.2TB の Samsung PM1725a NVMe ドライブを 2 台搭載)など、内部コモディティベースのサーバーストレージの活用が増加傾向にあることを確認しました。 #インターシステムズビジネスソリューションとアーキテクチャ #システム管理 #テスト #パフォーマンス #InterSystems IRIS 0 0 0 222
記事 Toshihiko Minamoto · 2021年7月8日 6m read ランダム読み出しIOストレージパフォーマンスツール 目的 このツールは、データベース内からランダム読み出し入力/出力(IO)を生成するために使用されます。 このツールの目的は、目標IOPSを達成し、許容範囲内のディスク応答時間の維持を確保するために、可能な限り多くのジョブを駆動することです。 IOテストから収集された結果は、IOサブシステムに基づいて構成ごとに異なります。 これらのテストを実行する前に、対応するオペレーティングシステムとストレージレベルの監視が、今後の分析のためにIOパフォーマンスの測定データーを保存するように設定されていることを確認してください。 #データベース #パフォーマンス #InterSystems IRIS Open Exchange app 0 0 0 113
記事 Tomohiro Iwamoto · 2020年5月1日 6m read データプラットフォームとパフォーマンス-パート6 CachéストレージIOプロファイル 私や他のテクノロジアーキテクトは、Caché IOの要件と、Cachéアプリケーションがストレージシステムを使用する方法を顧客とベンダーに説明しなければならないことがよくあります。以下の表は、一般的なCaché IOプロファイルと、トランザクションデータベースアプリケーションの要件を顧客やベンダーに説明するときに役立ちます。 オリジナルの表は、マーク・ボリンスキーが作成しました。 今後の投稿ではストレージIOについて詳しく説明する予定なので、今後の記事の参考資料として、今回これらの表も公開します。 #システム管理 #パフォーマンス #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 263
記事 Minoru Horita · 2020年12月14日 14m read 知っておくと便利なクエリパフォーマンスのコツ - Tune Table 優れた執筆者は、題名で読者を引き込み、答えを記事のどこかに隠すべきだと考えられています。 だとすると、私は出来の悪い執筆者ということになってしまいます。私の自尊心は見知らぬインターネットユーザーの皆さんのご意見にかかっていますので、お手柔らかにお願いします。 #SQL #パフォーマンス #Caché #InterSystems IRIS 0 0 0 216
記事 Toshihiko Minamoto · 2021年7月15日 16m read InterSystems IRIS および Intel Optane DC パーシステントメモリ InterSystems および Intel は先日、InterSystems IRIS を「Cascade Late」としても知られる第 2 世代 Intel® Xeon® スケーラブルプロセッサおよび Intel® Optane™ DC パーシステントメモリ(DCPMM)と組み合わせて一連のベンチマークを実施しました。 さまざまなワークロード設定とサーバー構成で、Intel の最新のサーバーテクノロジーを使用した InterSystems IRIS のパフォーマンスとスケーラビリティ機能を実証するのがこのベンチマークの目的です。 このレポートには、さまざまなベンチマークの結果とともに、Intel DCPMM と InterSystems IRIS のユースケースが 3 つ示されています。 #HL7 #インターシステムズビジネスソリューションとアーキテクチャ #シャーディング #テスト #パフォーマンス #ビッグデータ #HealthShare #InterSystems IRIS #InterSystems IRIS for Health #TrakCare 0 0 0 146
記事 Toshihiko Minamoto · 2020年5月10日 10m read 例: デフォルトREST APIを使用したInterSystems IRISの監視メトリックのレビュー 次の手順で、/api/monitor サービスから利用可能なメトリックのサンプル一覧を表示することができます。 前回の投稿では、IRISのメトリックをPrometheus形式で公開するサービスの概要を説明しました。 この投稿では、コンテナにIRISプレビューリリース2019.4 をセットアップして実行し、メトリックを一覧表示する方法をお伝えします。 #API #ダッシュボード #パフォーマンス #監視 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 200
記事 Megumi Kakechi · 2020年12月17日 1m read 選択性の数値について これはInterSystems FAQ サイトの記事です。 選択性(または Selectivity)の数値とは、カラムに対するユニークデータの割合を示す数値です。 例) Person テーブルの個別値である PID カラム、住所のうち都道府県名が入る Pref カラム Pref カラムの選択性 = 約 2% PID カラム(ユニーク属性のカラム)の選択性 = 1 InterSystems製品のクエリオプティマイザは、クエリ実行経路(プラン)とインデックスの選択を決定するため、エクステントサイズ(テーブル内のレコード数)と選択性の数値を使用します。 詳細は下記ドキュメントページをご参照ください。 テーブルの最適化【IRIS】 #SQL #パフォーマンス #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 250
記事 Megumi Kakechi · 2021年7月19日 3m read <STORE>エラーが発生する場合の対処法について これは InterSystems FAQ サイトの記事です。 <STORE> エラーは サーバ上のプロセスが使用しているプロセス個別メモリ容量が上限に達した場合に発生します。このメモリはオブジェクトを開いたり、ローカル変数を使用することで消費されるものとなります。このエラーは サーバ上のプロセスでメモリを大量に使用した場合に発生します。Caché バージョン2012.2以降、プロセス個別のメモリ容量の最大値が大幅に拡張されました(約2TB)。 この変更により、ローカル変数の使用領域を大幅に増やすことができるようになったため 特別な状況が発生しない限り(プログラムのバグにより大量のローカル変数を作成し続ける等) エラーを回避できるようになりました。 但し、このためのメモリ領域は、プログラムが動作するハードウェアが提供する資源の一つですので物理的な制限は当然あります。システム全体の資源管理を念頭に置き慎重な使用をお勧めします。 設定値詳細については以下ドキュメントをご参照ください。 #システム管理 #パフォーマンス #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 525
記事 Toshihiko Minamoto · 2020年12月22日 13m read HealthShare の Apache HTTPD Web サーバー構成 HealthShare の理想的な Apache HTTPD Web サーバー構成に関するお問い合わせをよくいただいています。 この記事では、真っ先に推奨される HealthShare 製品の Web サーバー構成について概要を説明します。 何よりもまず第一に、Apache HTTPD バージョン 2.4.x(64ビット)を使用することをお勧めします。 2.2.x のような旧バージョンも使用できますが、HealthShare のパフォーマンスとスケーラビリティを確保するにはバージョン 2.2 はお勧めできません。 #Red Hat Enterprise Linux (RHEL) #SOAP #インターシステムズビジネスソリューションとアーキテクチャ #システム管理 #パフォーマンス #HealthShare 0 0 0 944
記事 Minoru Horita · 2020年6月3日 10m read グローバルはデータを保存するための魔法の剣です パート3 - 疎な配列 #キーバリュー #インデックス付け #グローバル #データモデル #パフォーマンス #リレーショナルテーブル #初心者 #Caché #InterSystems IRIS 0 0 0 553
記事 Megumi Kakechi · 2021年2月8日 1m read 平常時のシステムパフォーマンスを収集する方法 これは InterSystems FAQ サイトの記事です。 システムのパフォーマンスが低下した場合、OSやインターシステムズ製品の様々なツールを使用して情報収集を行い ”通常時と比較して、どこがどの程度変わっているか”を確認することで、問題のある箇所を特定できます。(逆に、通常時の状況が不明な場合、パフォーマンス問題点の切り分けが非常に困難となる場合もあります。) いざ という時に備え、通常時のパフォーマンスを確認することは、大変重要な情報となります。 収集情報詳細は、以下のドキュメントをご参照ください。 #システム管理 #パフォーマンス #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 122
記事 Tomohiro Iwamoto · 2020年6月3日 12m read InterSystemsデータプラットフォームとパフォーマンス – パート1 アプリケーションがデプロイされ、すべてが問題なく動作しています。 素晴らしいですね! しかし、その後突然電話が鳴り止まなくなりました。アプリケーションが時々「遅くなる」というユーザーからの苦情の電話です。 これは一体どういうことなのでしょうか? なぜ時々遅くなるのでしょうか? このような速度低下を検出し、解決するにはどのようなツールと統計情報に注目すべきなのでしょうか? お使いのシステムのインフラはユーザーの負荷に対応できていますか? 本番環境を調べる前に、どのようなインフラ設計上の問題を問うべきなのでしょうか? 新しいハードウェアのキャパシティプランニングを、必要以上の設備投資を行うことなく自信を持って行うにはどうすればよいのでしょうか? どうすれば電話がかかってこなくなるのでしょうか? そもそも電話がかかってこないようにするには、どうすればよかったのでしょうか? #システム管理 #パフォーマンス #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 233
記事 Megumi Kakechi · 2021年2月15日 7m read データベースキャッシュおよびルーチンキャッシュの最適値の設定方法 これは InterSystems FAQ サイトの記事です。 データベースキャッシュおよびルーチンキャッシュをモニターし、最適値を調べる方法をご紹介します。 (1) データベースキャッシュ 現状の設定値で問題ないかは、^GLOSTAT ユーティリティ のCache Efficency値(キャッシュ効率)でモニターします。 Cache Efficiency 値は大きければ大きいほど良いですが、目安として100 以上であれば、設定サイズは問題ありません。 実行例) #システム管理 #パフォーマンス #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 348
記事 Toshihiko Minamoto · 2021年9月7日 4m read グラフ作成を行いやすくするために、pButtonsデータをcsvファイルに抽出するには まずはこの記事で手短にこの疑問に回答します。 この連載のパート2には、pButtonsから抽出されたパフォーマンスデータのグラフを含めました。 pButtonsの.htmlファイルからmgstatなどのメトリックを抽出してExcelで簡単にグラフ作成する方法として、カット&ペーストよりも素早く行える方法がないか、オフラインで尋ねられました。 参照: パート2: 収集したメトリックを確認する pButtonsは、収集したデータをWRCに送信して確認しやすくするために、そのデータを1つのhtmlファイルにコンパイルするのですが、 特に24時間などの長い収集時間で実行されるpButtonsの場合は、mgstat、vmstatなどの時間ベースのデータをグラフィック表示にして確認できれば、トレンドやパターンが見やすくなります。 #CSV #システム管理 #パフォーマンス #InterSystems IRIS 0 0 0 154
記事 Tomohiro Iwamoto · 2020年6月4日 11m read InterSystemsデータプラットフォームとパフォーマンス – パート2 前回の投稿では、pButtonsを使用してパフォーマンスメトリックを24時間収集する処理をスケジュールしました。 この投稿では、収集対象の主なメトリックのいくつかと、それらの土台となるシステムハードウェアがどのように関連しているかを見ていきます。 また、Caché(または任意のInterSystemsデータプラットフォーム)メトリックとシステムメトリックの関係についても調べます。 さらに、これらのメトリックを使用してシステムの毎日の健全性を把握し、パフォーマンスの問題を診断する方法もご紹介します。 #システム管理 #パフォーマンス #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 210