Seasar

負荷テスト結果

ここから先が数字です。 補足や雑感をダラダラ書いたりもしています。

負荷テストスクリプトについて。

どの様な負荷をかける事によって得られた結果なのかについて、それなりに書いておきます。 負荷テストは、負荷のかけ方によって、180度違った結果が出る事があります。 今回は、Seasar2とSpring2の比較をしていますが、 僕がSeasar2寄りなモノの考え方をして…

負荷テストの環境について。

今回の負荷テストを行ったハードウェア及び一部のミドルウェアについてです。

負荷テストやってました。

大体先月あたりから、ぽちぽちと負荷テストをやってきました。 ApacheBenchで、簡単な負荷をかけているだけですけども。 んで、今日は、一応、そのまとめを、ガッサリと書いておきます。

S2コンテナの中をチューニング中。

This is ApacheBench, Version 2.0.41-dev <$Revision: 1.141 $> apache-2.0 Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/ Benchmarkin…

もう少し頑張ってみるらしい。

Teeda + Seasar2.4 + Kuina-Dao + Hibernate

直した分だけ、上がっていく様な感はあるものの…

Teeda + Seasar2.4 + Kuina-Dao + Hibernate 現時点では、これ位なのかなぁ…。 This is ApacheBench, Version 2.0.41-dev <$Revision: 1.141 $> apache-2.0 Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright (c) 19…

Struts S2 Kuina-Daoだとこんな感じ。

ソースコードはコチラ。 https://www.seasar.org/svn/s2container/trunk/employee-benchmark/employee-seasar2-struts This is ApacheBench, Version 2.0.41-dev <$Revision: 1.141 $> apache-2.0 Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http…

例のアレ。

Exception in thread "Seasar2-TimeoutManager" java.lang.NullPointerException at org.seasar.extension.timer.TimeoutManager.getExpiredTask(TimeoutManager.java:96) at org.seasar.extension.timer.TimeoutManager.run(TimeoutManager.java:76) at jav…

StrutsからMyfacesに変えてみたり。

コードのリポジトリはコチラ。気になる方は、どうぞ。 https://www.seasar.org/svn/s2container/trunk/employee-benchmark/employee-spring2-myfaces This is ApacheBench, Version 2.0.41-dev <$Revision: 1.141 $> apache-2.0 Copyright (c) 1996 Adam Twi…

URLEncoder恐るべし。

Teedaにちょっと手が入るました。未リリースバイナリ。 This is ApacheBench, Version 2.0.41-dev <$Revision: 1.141 $> apache-2.0 Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright (c) 1998-2002 The Apache Sof…

パフォーマンス比較中。

特に現時点では、意図的に何も書きません。 ソースコードは、以下のURLにコミットされているます。 ガシガシ修正しているますが、気になる方はどうぞ。 https://www.seasar.org/svn/s2container/trunk/employee-benchmark/employee-seasar2-teeda Teeda + Se…

「DIの設定をJavaで」やると、XMLパーサレスに出来るんじゃ?

必要性があるかどうかは、サテおいて、diconファイルを書いたら、 「DIの設定をJavaで」やるeclipseプラグイン作れるな…と思いついた。 これをやる意味は、徹底すると実行時にXMLパーサが要らなくなる事かな…とか。 Xercesに嫌がらせされた経験のある人にし…

S2JmxJavelinスゴッ

ソフトウェアの品質を計る上で、 最も面倒で、最も職人技を必要とし、そして何と言っても報われない作業。 それがパフォチュー。 向上するのがアタリマエで、余りにも大幅に改善してしまうと、アレな事になってしまったり。 今までは、怪しげなツールを作っ…

フィールドインジェクション何故あるのか?

便利。只、この一言に尽きます。少なくとも、S2TestCaseは、最初のリリースの頃から、サブクラスのインスタンスに対して、 フィールドインジェクションしてました。マジ便利。チョー便利。色々楽出来る。 今は、コンテナの本体にもその機能がありますよって…

AJOってどうよ?

大量のXML、特定のAPIに依存した実装、明らかに多すぎる機能。を持つオブジェクトとして、 EJBがあります。3.0では、それらが軽減されるような方向にあるのは知っての通り。 EJBに対して、特定のAPIに依存しない実装、必要最小限の機能。を持つオブジェクト…

蜂の巣。

ちょっと見ないうちに、良い感じに育ってます。 JSFだ、Webサービスだ、一つの括りの中で扱えるのはポイント高いかと。 S2Beehiveってどうかな…とか。ちょっと考えてみたり。 eclipseのプラグインで、 ポトリペタリと出来たControllerにsetter以外の手を入れ…

IDisposableサポート?

Javaには存在しないインターフェースなので、考慮がなされていませんが、 S2.NETでは、考慮しないといけないのかも。 IDisposableが、アンマネージドリソースを開放する為のインターフェースだとするならば、 destroyMethod に定義しなくても、IDisposableを…

メーリングリストSourceForgeに移りました。

何日か前の話題なのですが、S2.NETのメーリングリストが変わりました。登録は、コチラです。 http://lists.sourceforge.jp/mailman/listinfo/seasar-s2dotnet

メーリングリスト開店しました。

http://s2dotnet.oscj.net/servlets/ProjectMailingListList S2.NET使ってみたぞ。って方がいらっしゃいましたら、 ちょっと面倒ですが、OSCJにユーザ登録し、オブザーバロールの申請を行った後、 usersのメーリングリストにご参加下さい。 リリースの情報を…

CommandContextPropertyAccessorの20行目で NullPointerExceptionが発生する事があるらしいです。 再現性は限りなく0に近いのですが…。 というか、負荷テスト中に、1度しか発生していない。 イマイチどのようなコンテキストで発生するのかよく分りません。 …

色々難しく考えすぎていた事が判明。特にパフォーマンス周り。 まずは、ストレートな感じのを実装します。 ここの所、アノテーションを追加する事で、 1:Nマッピングで、Nを取る際のクエリを分離するオプションの事をずっと考えていました。 以下、今日の思…

AspectFlowみたいな。

今日の禿会で、ちょっと出た話。 複数のアスペクトを1つの塊として捉えて、対象となるオブジェクトに適用したい感じ。 その塊は、定義上それなりに自由にコンポジット出来ると良い感じ。 と、言う訳で、AopProxyとかMethodInvocationImpl辺りを眺めてみる…。…

1:Nマッピング

アクセサに関する仕様をどうするか考え中です。アイディアが沢山ある訳では無いのですが… 単に、java.util.Collectionのサブクラスを引数に取るアクセサがあったらそれを使う。仕組みとして必須になるのはsetterのみになります。型が明らかにならないのでア…

ちょっと細かい事で恐縮なんですが、幾つか…。 S2TestCaseってば、ちょっとAPIが大きくなり過ぎでは? もう少しメソッドの数を抑える…と、言うかServletAPI関連のテストメソッドがあるのが、便利な反面使う為にはそれなりに慣れがいるような気がするです。 D…

中々厳しい所を突いて下さる方がいらっしゃるようです。

id:hiroyoshioさんが、S2Containerのちょっと不思議な動きに気付いて下さったようです。詳細は…、hiroyoshioさんの日記で。ここでは結論だけ言います。 SingletonComponentDeployerのinitとdestroyの処理内容に対応関係が無いのが原因です。 確かに、良く見…

論理削除?

今日は、1:Nマッピング以外の機能について言及してみます。 makotanの日記から引用。 public String DELETEFLAG = "deleteflag,0,1";っていうアノテーションがあったとき、削除時の処理がupdateでdeleteflagに1をセットするに勝手に変化するもちろんcreateの…

コメントありがとうございます。 1:Nは、最初の1:Nだけでよくてネストした1:Nは、要らないと思います。 冷静に考えると、Listを取った時に、それぞれにNの部分が結びついてくるのは、Many-To-Manyですね。 後回しにします。要望が無ければ実装しない方向で……

1:Nマッピングらしい。

まずは、1:Nマッピングの問題点をつらつらと思いつくままにメモしてみるます。 Hibernateでいう所のOne-to-Manyってヤツデス。 Nが際限なく取れてしまう可能性がある。 1:NのNの部分がいつでも欲しいとは限らない。 DAOのinterfaceの戻り値がListの時、その…

大変光栄な事に、S2の最もコアな部分のコミッタとして推薦頂けました。 ちょっとどう反応して良いものやら考えてる所です。ハイ。 ひがさんがあまりにも凄いので、基本的にはスペアタイヤみたいなものかなぁ…と。 はてさて…。