問題タブ [grinder]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
performance - Linuxでのliferayパフォーマンスの問題
2台のマシンにTomcatシステムをセットアップしたLiferay6があります。
Machine 1:
Windows 2003 Server
2GB RAM, 2Gh CPU
Mysql Ver 14.14 Distrib 5.1.49
Liferay 6.0.6 with Tomcat 6
Machine 2:
Linux CentOS 5.5
4GB RAM, 2Gh CPU
Mysql Ver 14.14 Distrib 5.5.10
Liferay 6.0.6 with Tomcat 6
両方のliferayシステムは、同一の起動パラメーターとmysql構成を持っています。liferayシステムには、カスタムテーマと各URLアクセスをチェックするサーブレットフィルターフックが含まれています。
で始まるシステムの負荷をテストするためのGrinderスクリプトを作成しました50 concurrent users
。
テストスクリプトは次のことを行います。
- ホームページを開く
- ユーザー名/パスワードでログイン
- セキュリティキーを入力します(カスタムポートレット)
- プライベートコミュニティに移動する
- ログアウト
Windowsシステムでは、応答時間は予想どおりです(Grinderでの各テストの平均時間は約40秒です)。ただし、Linuxシステムでは、同じ操作に対して応答時間が長すぎます(約4分)。
mysql、tomcat、接続プール、およびその他のいくつかのパラメーターを修正しようとしましたが、すべて同じ結果になりました。また、ライフレイは他のマシンのmysqlを使用してテストされました(マシン1ライフレイ->マシン2 mysql)
テスト環境のLinuxマシンでも、クライアント側でも同じ問題に直面しています。
windows - JBoss 5 と Oracle でマシンごとに複数のデータベース接続を許可する方法
The Grinder を使用して、Grails / JBoss 5 / Windows Server 2003 アプリケーションで Oracle デッドロックの問題を再現しようとしています。8 つの VM Grinder ノードを使用して 800 人の同時ユーザーをシミュレートしていますが、VM ごとに 1 つのデータベース接続しか見られないため、線のどこかに何らかの制限があるように見えます。
この制限を解除して、VM ごとに複数のデータベース接続を許可するにはどうすればよいでしょうか?
groovy - jython2.2.1 AttributeError: 'javainstance' オブジェクトに属性 '__call__' がありません
コンパイル済みの groovy アプリケーションに埋め込まれた jython コードを実行しようとすると問題が発生します。同じ jython コードが Java アプリケーション (The Grinder 3.1) に埋め込まれている場合、正常に動作します。
groovy コードでは、org.python.util.PythonInterpreter クラス (jython 2.2.1 から) を使用して、TestRunner というクラスの呼び出し可能なインスタンスを作成します (これは The Grinder の要件です)。
説明用の jython コードの例:
上記のコードを実行したときの出力は次のとおりです。
- TestRunners
__call__()
メソッドはクラス A インスタンスのメソッドを呼び出し、 Web サービスwork()
スタブの toString 出力が出力されます。 - "Calling methodcall" メッセージが表示されます。
- 「In methodcall」メッセージは出力されず、代わりに次のメッセージが表示されます:
AttributeError: 'javainstance' object has no attribute '__call__'
. スタックトレースは次で終了しますself.b.methodcall()
self.b.methodcall()
の呼び出しがなぜ結果になるのか、何か考えがありますかAttributeError: 'javainstance' object has no attribute __call__
問題にいくつかのコンテキストを追加します...
- Groovy クラスを使用して、製品のパフォーマンス テスト時に Grinder ワーカー スレッドが実行する作業を実行しようとしています。
- 「冗長なコードを少なくする」ためだけに groovy を使用しますが、問題の原因が groovy である場合は、プレーンな古い Java に切り替える必要があるかもしれません。
- これを行う理由は、特定のテスト シナリオで Grinder が実際に使用するファイルを見つける必要があるためです。
- 何百ものファイルや構成ファイルなどがありますが、 1 つの特定のテスト シナリオ
*.py
に使用されるのはそれらのサブセットのみです。それらはすべて、いくつかのテスト シナリオで使用されます。 - これにより、「初心者」がテストの構成方法を理解するのが非常に難しくなるため、ユーザー/テスターにすべての構成ファイルを手動で編集させずにテストシナリオをセットアップする「テスト構成ウィザード」を構築しようとしています。
- このウィザードは、関連するファイルを「リポジトリ」から収集し、「Grinder Console」がユーザーに提示できるフォルダに配置します。
- 何百ものファイルや構成ファイルなどがありますが、 1 つの特定のテスト シナリオ
したがって、Grinder が使用するファイルを見つけるために私が使用する方法は、AOP (AspectJ) を使用して、およびパッケージjava.io.FileInputStream(java.io.File)
内の任意のコードからのすべての呼び出しをキャプチャすることです。これらのジョインポイントに適用する「アドバイス」は、ファイル名を に出力することです。これにはロード時ウィービングを使用するので、AOP を有効にせずに groovy/java/jython コードを実行できます。この問題は、AOP を有効にしているかどうかに関係なく発生します。org.python.util
org.python.core
System.out
AttributeError
AttributeError
「groovy」クラスが PythonInterpreter メソッドを実行するときに、クラスローダーの不一致が原因で問題が発生する可能性があるという漠然とした疑いがありますが、これについては確信が持てません。groovy がクラスをロードするときに何らかのランタイム バイトコード編集を行っているかどうか、またそれが PythonInterpreter を混乱させるかどうかはわかりません。
Groovy コード自体はプリコンパイルされているため、通常の java.exe を使用してプロセスを起動します。
grinder - MACでThe Grinderを実行するには?
Mac でグラインダー テスト フレームワークを使用しようとしていますが、コンソールを開くための最初の手順をパスできません。これは私が試したことです:クラスパスを追加し、このコマンドでターミナルからこのように実行しようとしました
しかし、私はこのエラーが発生します:
これは私がフォローしているチュートリアルです。誰もがこれについて考えています。
grinder - Grinder スクリプトでテストの記録を停止するにはどうすればよいですか?
セッション管理のために Cookie に依存する Web アプリケーションのテスト スクリプトを作成しています。HTTPRequest は、1 つの要求オブジェクトに固執する限り、Cookie を見事に処理します。
問題は、テストの記録を停止できないことです。
このコードは機能しますが、統計では Login-test の実行回数が 2 倍になります。stopRecording
Test クラス (http://grinder.sourceforge.net/g3/script-javadoc/index.html) はメソッドを定義しません。
openfire - Grinder を使用した Openfire のテスト (BOSH 負荷テスト)
BOSH を介した負荷テスト用に openfire サーバーをテストしようとしましたが、数分の実行後に次のエラーが発生しました。
1)
2) 404 Invalid SID エラーも発生しています。
最初は Windows 2003 Server で openfire をセットアップしていましたが、後で ubuntu 11.10 (RAM 2.0 GiB Intel Core Duo T2400 @ 1.83GHz) でセットアップしました。
1)最初に、php curl fetchスクリプトを実行して、userservicesプラグインを使用して約10,000回の使用を追加するようにユーザーを追加しました(その間、多くの空白の応答があったため、これは問題に関連している可能性がありますが、焦点を当てません今ではこの不正行為)
2) しかし、400 人のユーザーに対してこれをテストする必要があったため、次の Grinder.properties を設定しました。
(これは奇妙なことに、103人の同時ユーザーのみを開始することになりました)
(1 つのエージェントを使用してこれをテストしてみました)
3) 少し調べてみたところ、bosh 用に openfire を構成できることがわかりました。だから私は次のsystem.propertiesを追加しました
ひどく助けが必要です!!!!! どうすればこれを解決できるかについて誰かが洞察を持っていますか?
rad - RAD 7.5 & グラインダー
Grinder を RAD 7.5 と統合しようとした人がいるかどうか疑問に思っています。
問題:記録した jpython スクリプトを Grinder TCP Proxy から実行しようとすると、RAD 7.5 で次のエラーが発生します。
詳細:
- RAD 7.5
- グラインダー:3.6
基本的なスクリプトを作成してみましたが、RAD でも同じことが起こりました。誰かがこれを起こしたのだろうかと思っていましたか?または、RAD 7.5 内で Grinder を設定できた場合。
エラーメッセージ:
スレッド「メイン」での例外 java.lang.UnsupportedOperationException: 機能を取得できません。再変換環境の破棄を実行しています
16/12/11 2:15:11 PM (プロセス WMTN200411-0): ワーカー プロセスの実行中にエラーが発生しました (Jython インタープリターの状態が初期化されていません。PySystemState.initialize または PythonInterpreter.initialize を呼び出す必要があります。)
python - コードは単独で正常に動作しますが、関数内でエラーが表示されます
コードに問題があります。元の文字列、前後のテキストフラグメント、およびテキスト内の出現回数を送信して、パラメータを抽出する関数を作成しました。私がそれを単純なコードで書いたとき、それはうまくいきました:
しかし、文字列を返すメソッドにそれを入れると、エラーが発生します。
関数は次のとおりです。
そしてここにそれの呼びかけがあります:
エラーは次のようになります。
技術的には、これはグラインダースクリプトを実行するための関数であり、コンパレーターはjythonを使用しますが、Javaコードは使用されず、Pythonコードのみであるため、これはPythonの問題と見なします。しかし、それでも、おそらくそれはこれと関係があります。
これに関するヒントはありがたいです!
testing - テストツールと統合されたロボットフレームワーク
ロボットフレームワークをグラインダー、jmeter、funkload などの負荷テスト ツールと統合する進行中のオープン ソース プロジェクトを知っている人はいますか?
ありがとう
python - Grinder 3 の jython スクリプト内で「yield」キーワードの使用に成功した人はいますか?
私はこの機能を持っています:
..そして、エラーが発生しました
yield
仕事をする方法はありますか?jython
コンソールで同じ機能を試しました-正常に動作する場合。