Hi Seth, Thanks for the pointer to YourKit. While profiling hasn't provided any direct answers, it has helped rule out some things such as gc configuration (not a problem, with each service request taking on average 10ms in gc). What is happening is that some parts of the jess codebase, related to comparing values while evaluating the LHS of rules and updating facts, take longer to execute on linux (with faster hardware) than they do on windows, and it seems to be related to the jvm itself. Our best guess is that it's related to this bug:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6329104 Even though our server performance seems to be related to a jvm bug, I believe profiling also showed that we're getting a lot of partial matches. As we (should) all know, eliminating those can make a big difference and I will be spending some effort there. In answer to your questions about our system: it runs stateful with lazy fetching of needed facts from a database via backward chaining. For nearly all service requests the db is not accessed during the request and performance testing is done in this context. thanks, dave -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Seth Ladd Sent: Friday, March 03, 2006 6:16 PM To: [email protected] Subject: Re: JESS: performance diff win vs linux On 3/3/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > I'm getting significantly different performance on windows, where I do > development, compared to linux, where we deploy. On linux, it's taking > significantly longer for my rules to run than it does on windows. > Details are: Just a thought, but are you sure it's Jess? Have you profiled it, determining that the slowness is in fact Jess's fault? To be sure, I recommend using YourKit. It's a very good profiler, and works well with Tomcat. It will very quickly tell you where the slowness is inside the Java app. What other differences are there between production and development? Different database driver? Missing index on the database? Firewall rules? DNS issues? Hope that helps, it sounds like it might be something external to your app. Actually, have you tried zipping up your development Tomcat and running it in production? Good luck! Seth -------------------------------------------------------------------- To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list (use your own address!) List problems? Notify [EMAIL PROTECTED] -------------------------------------------------------------------- -------------------------------------------------------------------- To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list (use your own address!) List problems? Notify [EMAIL PROTECTED] --------------------------------------------------------------------
