Also I don't know the history or details of this story, but...
What commit option are you using? Try option A with cache invalidation.
Make sure any beans doing "selects" are deployed read-only.
If you are using tomcat, make sure the max proccessors and acceptcount are high enough.
Make sure the JVM is getting enough RAM.
Try a different JDK.
So many things, and I don't know your story, I'm sure you tried all of these, but I hope I maybe helped.
Cam
Joao Clemente wrote:
sorry for replying so late, but here goes: No, my problems are still not solved... And I almost gave up on this... This is my university thesis, and I'm already almost a year late (it should take a year and I've started my research almost two years ago). If this is not finished in the 2 year-time, the thesis will be cancelled by the university.
I'm suposed to use JBoss to provide a "scalable, fault-tolerant and high-available middleware" infra-structure for a j2ee app that is being developed by another person.. another thesis that is being developed at the same time, a kind of a webmail on steroids.. This j2ee application is build on top of a already developed open source webapplication (servlet+jsp). It was "redesigned" to use EJB's aswell. Then it was expanded with the help of a couple of more external libraries of other independent open-source projects.. So we're talking about a webapp that was redisegned to be a j2ee app, and then glued to some other libs and projects and with some extra code developed here... Put a Ldap connection here, a jabber server there, a mailserver somewhere else and with a bit of luck you get something like this...
About 10 months ago, I should had delivered tested results on how the jboss cluster can improve the scalability and fault-tolerance of this application. I'm failing miserably every test I make... day after day I crash into another problem, and I'm unable to get those test results...
I'm not saying this is JBoss's fault... No. I've found a couple of bugs that were JBoss and Javagroups related, as you (sacha) can certainly remember. But those were not the reasons I'm failing every time I try...
This app sucks. Thats the truth I'm already seeing for a long time ago and it's exactly that that my thesis advisor (togheter with the other theses developer and advisor) is refusing to see.. Sure.. "but the app works fine", they say. "It's a problem on your side", they say... "It's your work to get that thing usable under load, it's what your research is suposed to do", they say..
And, actually, if we use 1 (ONE!!!) client (wich, btw, must be InterntExplorer) , with 1 (A SINGLE ONE!!!) jboss server, and you test it manually... it works..
But, for instance, - The app uses non-serializable objects all over the http session. This ceartainly gives us a hard time getting fault-tolerance (or failover) to work, besides the problems with the load-balancing... - The owner of the original project (the one that was redesigned here to have ejb's besides servlets and jsp's) admitted that it never tought of it to be clustered, and had no ideia of what was to be done for it to be runnable in a cluster...
About three or four months ago I started writing java test programs using httpunit to load the app.. I've designed a simple client model that would just do four or five steps in the web app... Simple, right? Then added a threading model so I could have n similar clients accessing the webapp... Again, simple... I decided to test WITHOUT a cluster. So, there as been at least 3 months that I do NOT have a load balancer, i DO NOT have a clustered jboss setup, there is just 1 jboss server and my client application...
Results? I'm almost willing to wait 'till the 2 years of my thesis end, my university cancels it, so that I can start something new from the scratch... With NO cluster involved:
- with 1 client ,if I run my test case (get hompage, login, check mail, logout) for 6 times, I would get locked. End of story. - with 2 clients, would get about the same results.. - with 4 clients, I would get little more than exceptions...
oh, btw, in most of these cenarios, I' would not even be able to use the application manually, as it would enter a cicle redirecting me for the start page (it's a "feature" of this app: if something goes wrong then redirect to start page)... until I shutted down jboss and started it over (trying to undeploy the app would lock jboss)
and no, it does not stop here... after some time, we found out that a singleton object of that j2ee app was unable to be runned concurrently and would cause the exception... gimme some more headaches, and we find out that the locking was due to one of the external libs that were being used that, by some reason, locks under yet to be understood circuntances.. oh, and that lib was now deprecated..
ok, now what? sending mail would work fine if used with InternetExplorer, but would give my java test client a error 500 page... Now what? Is it my client's code fault? Whose fault is it? Once again, one more week goes by and we find that there is another lib that was badly written..
At what point am I now? This app finally runs with 4 (FOUR!?!) concurrent clients... More than that and I get exceptions all over again... Gimme a break... I know JBoss is useable with hundrends of clients. I know it! I see it with my own short j2ee apps that I wrote for testing with my clustered setup! This app, with a "no-cluster" environment breaks with 5 clients! It's impossible to but this in a cluster and make it work better... it sucks, period!
But time keeps running and my thesis, my "scalable and fault-tolerant middleware for a j2e appp" is going down the drain... no way this app is going to be useable under load... and I keep banging my head on the wall each time I run my tests, see the exceptions, and think to my self... "ok... where is it now? is it my test code? is it the app? is is the xyz lib that the app uses? maybe it's the foo lib... maybe the mail server fault? maybe jboss this time? maybe this java vm implementation has a bug... maybe the..."
sometimes I'm over a week or two without doing progress... I wake up in the morning, I just feel like crying and I think "why tha hell didn't I went for medicine school? what 'tha heck... maybe I can still be a plumber or something... maybe I should just be in bed..."
----- Original Message ----- From: "Sacha Labourey" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Sunday, June 08, 2003 5:22 AM Subject: RE: [JBoss-user] http session clustering
You're problem is still not resolved Joao?!?
-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Joao Clemente Sent: vendredi, 6. juin 2003 14:48 To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: Re: [JBoss-user] http session clustering
----- Original Message ----- From: "Stefano Maestri" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Friday, June 06, 2003 10:44 AM Subject: Re: [JBoss-user] http session clustering
Thanks, it works. just a suggestion add this on your very good "JBoss
Clustering" docs.
And another thing: I read in jbossbook3.2.1 draft docs in
chapter "Using
Clustering with Tomcat" this phrase: "If you are using a load balancer, make sure that your
setup uses sticky
session". I'm agree that's better to use it to reduce the overload on
JBoss, but it is
not necessary. Isn't it? BTW we are using since 2 year LVS (LinuxVirtualServer) as
load balancer with
JBoss, are you interested in my experience to integrate
something about LVS
in your docs exactly as you did for apache?
At least I am! I am trying to get that setup working correctly for an entreprise app for over a year now.. This is my unversisty final work, and it has been delayed forever as I'm being unable to locate all the changes I need to do to get my app with fault-tolerance features... Every time I need to recover sessions (in particular http session) I have a really hard time 'till I find out where all those exceptions come from... I think the problem lies deep inside the app I'm using: It uses some objects kept inside the http session that are not serializable and therefore there is a need to recover them in a application level.. In particular, I also setup a LVS with LVS-DR (I once had it with LVS-NAT) and in the end I had to enable persistence so that each user session sticks with a single server... So, if you had some approach for the problems found during the cluster setup, I would love to hear it...
------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01
------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user