JP2010129079A - 並行処理プロファイラを実装するシステム及び方法 - Google Patents
並行処理プロファイラを実装するシステム及び方法 Download PDFInfo
- Publication number
- JP2010129079A JP2010129079A JP2009123371A JP2009123371A JP2010129079A JP 2010129079 A JP2010129079 A JP 2010129079A JP 2009123371 A JP2009123371 A JP 2009123371A JP 2009123371 A JP2009123371 A JP 2009123371A JP 2010129079 A JP2010129079 A JP 2010129079A
- Authority
- JP
- Japan
- Prior art keywords
- computer
- code
- instrumentation
- server
- implemented method
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Abstract
【解決手段】方法は、ハードウェアクライアント−サーバ環境の測定をするために実行パラメータを定義することを含む。方法はまた、インストラメンテーションコードを含むためにコードブロックを修正することを含む。インストラメンテーションコードは、実行パラメータに関する。方法はまた、修正されたコードブロックをハードウェアクライアント−サーバ環境で実行することを含む。方法はまた、実行パラメータに関し、コードブロックを実行することから生じるインストラメンテーションデータを生成することを含む。方法はまた、生成されたインストラメンテーションデータを出力することを含む。
【選択図】図3
Description
上記検討の通り、ボトルネックは、スループットの低下をもたらす。コンピュータプログラムにおいて、ボトルネックは、異なるルーチン間の同期点によって通常引起される。これらボトルネックは、新たなハードウェアを追加することによって解消できない論理的限界を示すので危険である。
以下の例を検討する。小さなウェブサーバは、一つのデータベース接続を有する。複数の同時要求が以下続く。1.明示ロックを得る(要求はここで待機しうる)。2.接続を得る。3.データベース命令を実行する。例えば、約0.05秒間のSQL(構造化問合せ言語)動作。4.明示ロックを解除する。
位置:これは、階級、方法、及びボトルネックの線番号である。
スレッド:これは、スレッド識別子である(ルーチン識別子)。
モニタ:これは、ルーチンが努めるリソースである(例えば、同期モニタ又はロック)。
入力時間:これは、スレッドがボトルネックに入る時間である。
終了時間:これは、スレッドがボトルネックから出る時間である。
並行処理プロファイラ130の実施形態は、SPECjAppServerベンチマークアプリケーションのボトルネックを見つけるために使用され、拡張性を高める。(例えば、完全な拡張性によると、ハードウェアを二重にすれば、負荷機能「load capability」を二重にする。ボトルネックの存在は、拡張性を完全にするのを妨げるので、ボトルネックを特定及び除去することで拡張性を改善する。)並行処理プロファイラ130は、Java(登録商標)サーバ設定の全2値を変換し、それは、約350.jarファイルであった。有効動作は、トランザクション速度5で実行された(50HTTP[hypertext transfer protocol]クライアント及び15RMI[remote method invocation]クライアント)。(これらパラメータは、実行された負荷を示す負荷テストパラメータであり、例えばクライアントコンピュータ数に対応する。)並行処理プロファイラ130は、表1がトップレベル情報を要約する報告を生成した。
204 実行パラメータを定義
206 コードを実行
208 インストラメンテーションデータを記録
210 結果を表示
Claims (20)
- ハードウェアクライアント−サーバ環境で実装されるコンピュータプログラムのボトルネックを測定するコンピュータ実装方法であって、
測定するために実行パラメータを定義し、
インストラメンテーションコードを含むために複数のコードブロックの各コードブロックを修正し、インストラメンテーションコードは、実行パラメータに関し、
修正された複数のコードブロックを実行し、
実行パラメータに関し、複数のコードブロックを実行することから生じるインストラメンテーションデータを生成し、
生成されたインストラメンテーションデータを出力する
ことからなることを特徴とするコンピュータ実装方法。 - コンピュータプログラムは、ハードウェアサーバコンピュータによって記憶される情報にアクセスし、ハードウェアクライアントコンピュータによって実行される第2Java(登録商標)言語プログラムと相互作用する、ハードウェアサーバコンピュータによって実行される第1Java(登録商標)言語プログラムであることを特徴とする請求項1に記載のコンピュータ実装方法。
- コンピュータプログラムは、ハードウェアデータベースサーバと相互作用し、ハードウェアクライアントコンピュータによって実行される第2Java(登録商標)言語プログラムと相互作用する、ハードウェアアプリケーションサーバによって実行される第1Java(登録商標)言語プログラムであることを特徴とする請求項1に記載のコンピュータ実装方法。
- 各コードブロックを修正する段階は、
複数のコードブロックの同期コードブロックを特定し、
同期コードブロックの開始にモニタ入力命令を追加し、
同期コードブロックの終了にモニタ終了命令を追加する
ことからなることを特徴とする請求項1に記載のコンピュータ実装方法。 - 実行パラメータは、並行パラメータ、スループットパラメータ、通し時間パラメータ、極限スループットパラメータ、及び利用パラメータのうち少なくとも一つを含むことを特徴とする請求項1に記載のコンピュータ実装方法。
- 複数のコードブロックは、低負荷を有するハードウェアサーバコンピュータに従って実行されることを特徴とする請求項1に記載のコンピュータ実装方法。
- 実行する段階は、
ハードウェアデータベースサーバコンピュータによって実装されるデータベースに記憶されるロックオン情報を得て、
データベースへの接続を得て、
情報へアクセスするデータベースコマンドを実行し、
ロックを解除する
ことからなることを特徴とする請求項1に記載のコンピュータ実装方法。 - インストラメンテーションデータは、位置識別子、スレッド識別子、モニタ識別子、入力時間、及び終了時間のうち少なくとも一つを含むことを特徴とする請求項1に記載のコンピュータ実装方法。
- インストラメンテーションデータは、位置識別子、スループット測定、通し時間測定、極限スループット測定、及び利用測定のうち少なくとも一つを含むことを特徴とする請求項1に記載のコンピュータ実装方法。
- インストラメンテーションデータは、減少順序で利用測定に従って出力されることを特徴とする請求項1に記載のコンピュータ実装方法。
- インストラメンテーションデータの出力に応答してユーザ入力に従って、ハードウェアクライアント−サーバ環境の局面を調整することをさらに具備することを特徴とする請求項1に記載のコンピュータ実装方法。
- インストラメンテーションデータの出力に応答してユーザ入力に従って、ハードウェアクライアント−サーバ環境のアプリケーションサーバの局面を調整することをさらに具備することを特徴とする請求項1に記載のコンピュータ実装方法。
- インストラメンテーションデータの出力に応答してユーザ入力に従って、ハードウェアクライアント−サーバ環境のアプリケーションサーバの仮想マシンの局面を調整することをさらに具備することを特徴とする請求項1に記載のコンピュータ実装方法。
- ハードウェアクライアント−サーバ環境で実装されるコンピュータプログラムのボトルネックを測定するための命令を実行する装置であって、
複数のコードブロックを記憶するメモリと、
測定するために実行パラメータを定義し、
インストラメンテーションコードを含むために複数のコードブロックの各コードブロックを修正し、インストラメンテーションコードは、実行パラメータに関し、
修正された複数のコードブロックを実行し、
実行パラメータに関し、複数のコードブロックを実行することから生じるインストラメンテーションデータを生成し、
生成されたインストラメンテーションデータを出力する
ことを含む処理を実行するプロセッサと
を具備することを特徴とする装置。 - プロセッサは、
仮想マシンを実装し、仮想マシンは、修正された複数のコードブロックを実行することをさらに具備する処理を実行することを特徴とする請求項14に記載の装置。 - プロセッサは、
仮想マシンを実装し、仮想マシンは、修正された複数のコードブロックを実行し、
インストラメンテーションデータに応答してユーザ入力に従って仮想マシンの局面を調整する
ことをさらに具備する処理を実行することを特徴とする請求項14に記載の装置。 - インストラメンテーションデータは、減少順序で利用測定に従って出力されることを特徴とする請求項14に記載の装置。
- ハードウェアクライアント−サーバ環境で実装されるコンピュータプログラムのボトルネックを測定するための処理を実行するためにデータ処理装置を制御する命令をその上に記録したコンピュータ読取可能な媒体であって、
ハードウェアクライアント−サーバ環境を測定するために実行パラメータを定義し、
インストラメンテーションコードを含むために複数のコードブロックの各コードブロックを修正し、インストラメンテーションコードは、実行パラメータに関し、
修正された複数のコードブロックをハードウェアクライアント−サーバ環境で実行し、
実行パラメータに関し、複数のコードブロックを実行することから生じるインストラメンテーションデータを生成し、
生成されたインストラメンテーションデータを出力する
ことからなることを特徴とするコンピュータ読取可能な媒体。 - 命令は、
修正された複数のコードブロックを実行する仮想マシンを実装する
ことをさらに具備する処理を実行するためにデータ処理装置を制御することを特徴とする請求項18に記載のコンピュータ読取可能な媒体。 - 命令は、
修正された複数のコードブロックを実行する仮想マシンを実装し、
インストラメンテーションデータに応答してユーザ入力に従って仮想マシンの局面を調整する
ことをさらに具備する処理を実行するためにデータ処理装置を制御することを特徴とする請求項18に記載のコンピュータ読取可能な媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/277,612 US8645922B2 (en) | 2008-11-25 | 2008-11-25 | System and method of implementing a concurrency profiler |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010129079A true JP2010129079A (ja) | 2010-06-10 |
Family
ID=41226044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009123371A Pending JP2010129079A (ja) | 2008-11-25 | 2009-05-21 | 並行処理プロファイラを実装するシステム及び方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8645922B2 (ja) |
EP (1) | EP2192491B1 (ja) |
JP (1) | JP2010129079A (ja) |
CN (1) | CN101753378B (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8954546B2 (en) | 2013-01-25 | 2015-02-10 | Concurix Corporation | Tracing with a workload distributor |
US20130283281A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Deploying Trace Objectives using Cost Analyses |
US8924941B2 (en) | 2013-02-12 | 2014-12-30 | Concurix Corporation | Optimization analysis using similar frequencies |
US8997063B2 (en) | 2013-02-12 | 2015-03-31 | Concurix Corporation | Periodicity optimization in an automated tracing system |
US20130219372A1 (en) | 2013-03-15 | 2013-08-22 | Concurix Corporation | Runtime Settings Derived from Relationships Identified in Tracer Data |
US9575874B2 (en) | 2013-04-20 | 2017-02-21 | Microsoft Technology Licensing, Llc | Error list and bug report analysis for configuring an application tracer |
US9292415B2 (en) | 2013-09-04 | 2016-03-22 | Microsoft Technology Licensing, Llc | Module specific tracing in a shared module environment |
EP3069241B1 (en) | 2013-11-13 | 2018-08-15 | Microsoft Technology Licensing, LLC | Application execution path tracing with configurable origin definition |
US9922088B2 (en) | 2013-12-31 | 2018-03-20 | Sybase, Inc. | Cardinality estimation using spanning trees |
US9952856B2 (en) | 2014-08-01 | 2018-04-24 | Sap Se | Deploying mobile applications in a collaborative cloud environment |
CN106293764B (zh) * | 2016-08-22 | 2019-05-07 | 江苏电力信息技术有限公司 | 一种通过abap语法解析获取引用自定义对象的方法 |
US10042739B2 (en) | 2016-09-29 | 2018-08-07 | International Business Machines Corporation | Real-time analytics of machine generated instrumentation data |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10293747A (ja) * | 1997-04-18 | 1998-11-04 | Nec Corp | クライアント・サーバシステムの性能評価装置及び方式 |
JP2002082926A (ja) * | 2000-09-06 | 2002-03-22 | Nippon Telegr & Teleph Corp <Ntt> | 分散アプリケーション試験・運用管理システム |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5668995A (en) * | 1994-04-22 | 1997-09-16 | Ncr Corporation | Method and apparatus for capacity planning for multiprocessor computer systems in client/server environments |
WO1996038733A1 (en) * | 1995-06-02 | 1996-12-05 | Pure Software, Inc. | Remote monitoring of computer programs |
US5819066A (en) * | 1996-02-28 | 1998-10-06 | Electronic Data Systems Corporation | Application and method for benchmarking a database server |
US5832484A (en) * | 1996-07-02 | 1998-11-03 | Sybase, Inc. | Database system with methods for parallel lock management |
JP3816612B2 (ja) * | 1997-01-14 | 2006-08-30 | 富士通株式会社 | ネットワーク管理装置 |
US6470464B2 (en) * | 1999-02-23 | 2002-10-22 | International Business Machines Corporation | System and method for predicting computer system performance and for making recommendations for improving its performance |
US6434613B1 (en) * | 1999-02-23 | 2002-08-13 | International Business Machines Corporation | System and method for identifying latent computer system bottlenecks and for making recommendations for improving computer system performance |
US6557035B1 (en) * | 1999-03-30 | 2003-04-29 | International Business Machines Corporation | Rules-based method of and system for optimizing server hardware capacity and performance |
US6449739B1 (en) * | 1999-09-01 | 2002-09-10 | Mercury Interactive Corporation | Post-deployment monitoring of server performance |
US6816874B1 (en) * | 1999-09-10 | 2004-11-09 | International Business Machines Corporation | Method, system, and program for accessing performance data |
US20030212987A1 (en) * | 2001-02-28 | 2003-11-13 | Demuth Steven J. | Client container for building EJB-hosted java applications |
US8326965B2 (en) * | 2001-05-03 | 2012-12-04 | Hewlett-Packard Development Company, L.P. | Method and apparatus to extract the health of a service from a host machine |
US6687702B2 (en) * | 2001-06-15 | 2004-02-03 | Sybass, Inc. | Methodology providing high-speed shared memory access between database middle tier and database server |
US7137120B2 (en) * | 2001-12-17 | 2006-11-14 | International Business Machines Corporation | Dynamic diagnostic program for determining thread wait time |
US7577951B2 (en) * | 2002-05-30 | 2009-08-18 | Hewlett-Packard Development Company, L.P. | Performance of computer programs while they are running |
US6792460B2 (en) * | 2002-10-02 | 2004-09-14 | Mercury Interactive Corporation | System and methods for monitoring application server performance |
JP4787460B2 (ja) * | 2003-01-17 | 2011-10-05 | 日本電気株式会社 | ソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式および方法 |
US7493622B2 (en) * | 2003-08-12 | 2009-02-17 | Hewlett-Packard Development Company, L.P. | Use of thread-local storage to propagate application context in Java 2 enterprise edition (J2EE) applications |
WO2005017735A1 (ja) * | 2003-08-19 | 2005-02-24 | Fujitsu Limited | ディスクアレイ装置におけるボトルネックを検出するシステムおよびプログラム |
US7707557B1 (en) * | 2003-12-30 | 2010-04-27 | Sap Ag | Execution of modified byte code for debugging, testing and/or monitoring of object oriented software |
US7367025B1 (en) * | 2003-12-30 | 2008-04-29 | Sap Ag | Byte code modification for testing, debugging and/or monitoring of virtual machine based software |
US9582313B2 (en) * | 2004-06-03 | 2017-02-28 | Sap Se | Connection resource system |
US7676810B2 (en) * | 2004-06-03 | 2010-03-09 | Sap Ag | Identification of execution context |
US8010337B2 (en) * | 2004-09-22 | 2011-08-30 | Microsoft Corporation | Predicting database system performance |
JP4654707B2 (ja) * | 2005-02-18 | 2011-03-23 | 日本電気株式会社 | ボトルネック検出システム、測定対象サーバ、ボトルネック検出方法およびプログラム |
JP2006277458A (ja) * | 2005-03-30 | 2006-10-12 | Hitachi Ltd | リソース割当管理装置およびリソース割当方法 |
WO2006110937A1 (en) * | 2005-04-21 | 2006-10-26 | Waratek Pty Limited | Modified computer architecture with coordinated objects |
US20060271575A1 (en) * | 2005-05-25 | 2006-11-30 | Harris Steven T | Clustered object state using field set operations |
US20070061289A1 (en) * | 2005-09-09 | 2007-03-15 | Douglas Brown | Validator and method for managing database system performance |
US8402443B2 (en) * | 2005-12-12 | 2013-03-19 | dyna Trace software GmbH | Method and system for automated analysis of the performance of remote method invocations in multi-tier applications using bytecode instrumentation |
US9081605B2 (en) * | 2007-03-27 | 2015-07-14 | Nec Corporation | Conflicting sub-process identification method, apparatus and computer program |
CN101316185B (zh) * | 2007-06-01 | 2011-05-18 | 阿里巴巴集团控股有限公司 | 一种基于日志文件的分析结果定位系统资源瓶颈的方法 |
US8225291B2 (en) * | 2008-01-04 | 2012-07-17 | International Business Machines Corporation | Automated detection of application performance bottlenecks |
-
2008
- 2008-11-25 US US12/277,612 patent/US8645922B2/en active Active
-
2009
- 2009-05-21 JP JP2009123371A patent/JP2010129079A/ja active Pending
- 2009-06-19 EP EP09008085A patent/EP2192491B1/en active Active
- 2009-11-25 CN CN200910224206.1A patent/CN101753378B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10293747A (ja) * | 1997-04-18 | 1998-11-04 | Nec Corp | クライアント・サーバシステムの性能評価装置及び方式 |
JP2002082926A (ja) * | 2000-09-06 | 2002-03-22 | Nippon Telegr & Teleph Corp <Ntt> | 分散アプリケーション試験・運用管理システム |
Also Published As
Publication number | Publication date |
---|---|
EP2192491B1 (en) | 2012-08-29 |
CN101753378B (zh) | 2014-07-30 |
US8645922B2 (en) | 2014-02-04 |
US20100131945A1 (en) | 2010-05-27 |
EP2192491A1 (en) | 2010-06-02 |
CN101753378A (zh) | 2010-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010129079A (ja) | 並行処理プロファイラを実装するシステム及び方法 | |
Bell et al. | Paraprof: A portable, extensible, and scalable tool for parallel performance profile analysis | |
JP5249206B2 (ja) | Api性能プロファイルを収集し報告するための自動化された方法およびシステム | |
US8694574B2 (en) | Optimized settings in a configuration database with boundaries | |
US8776014B2 (en) | Software build analysis | |
Trümper et al. | Understanding complex multithreaded software systems by using trace visualization | |
US6609216B1 (en) | Method for measuring performance of code sequences in a production system | |
US20080127109A1 (en) | Method and system for generating and displaying function call tracker charts | |
US20100031252A1 (en) | Method And System For Monitoring The Performance Of An Application And At Least One Storage Device For Storing Code Which Performs The Method | |
US10698962B2 (en) | Analysis of data utilization | |
US10725889B2 (en) | Testing multi-threaded applications | |
Kazi et al. | JaViz: A client/server Java profiling tool | |
Cito et al. | Interactive production performance feedback in the IDE | |
Kähkönen et al. | LCT: A parallel distributed testing tool for multithreaded Java programs | |
Salhi et al. | Open source in-memory data grid systems: Benchmarking hazelcast and infinispan | |
Reichelt et al. | Towards solving the challenge of minimal overhead monitoring | |
US20160013989A1 (en) | Service discovery and/or effort estimation in networked computing environments | |
Laaber et al. | Performance testing in the cloud. How bad is it really? | |
Reiss et al. | Visualizing threads, transactions and tasks | |
Kalmegh et al. | Analyzing query performance and attributing blame for contentions in a cluster computing framework | |
Fruth et al. | Tell-Tale Tail Latencies: Pitfalls and Perils in Database Benchmarking | |
Howell et al. | Unpacking environmental dynamism: From operationalization to characterization | |
Bodner et al. | Doppler: understanding serverless query execution | |
Göbel | Mutebench: Turning OLTP-Bench into a multi-tenancy database benchmark framework | |
Wang et al. | A framework for detecting anomalous services in OSGi-based applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100330 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111101 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120127 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120710 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120903 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20121010 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20121221 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140416 |