If things are getting slowly. Progressively worse then my first two suspects would be: 1. Missing database performance indexes. Do no assume that EOF is adding all of the indexes that you need for good performance. It is not. It only indexes the PK and FK. IIRC it only indexes half of the PK/FK in a join table.
2. Modeling of relationships OUT of what is effectively look-up tables. e.g. a Gender entity with Male, Female, Trans, Undisclosed with relationships back to the Person table. You don’t want the relationship out of the Gender table, only into it. And even better is to model it as an enum. The WOCommunity has few good presentations on generic EOF performance issues and how to correctly handle each situation. Research shows that 96.783%* of EOF performance problems can be traced back to simple, overloaded things like this. Chuck * Numbers guaranteed correct by advisers to Donald Trump. Maybe. From: Gerald Jones <gerald.jo...@cmehawaii.com<mailto:gerald.jo...@cmehawaii.com>> Date: Monday, March 21, 2016 at 8:20 PM To: Chuck Hill <ch...@gevityinc.com<mailto:ch...@gevityinc.com>>, 'Ken Anderson' <kenli...@anderhome.com<mailto:kenli...@anderhome.com>> Cc: "webobjects-dev@lists.apple.com<mailto:webobjects-dev@lists.apple.com>" <webobjects-dev@lists.apple.com<mailto:webobjects-dev@lists.apple.com>> Subject: RE: Performance issue What is the purpose of the Synchronizer? What is it Synchronizing, and with what process? Why are the statements bunched together? Mahalo, Gerald From: Chuck Hill [mailto:ch...@gevityinc.com] Sent: Tuesday, March 15, 2016 7:51 AM To: Ken Anderson <kenli...@anderhome.com<mailto:kenli...@anderhome.com>>; Gerald Jones <gerald.jo...@cmehawaii.com<mailto:gerald.jo...@cmehawaii.com>> Cc: webobjects-dev@lists.apple.com<mailto:webobjects-dev@lists.apple.com> Subject: Re: Performance issue And most of those ERXRemoteSynchronizer log messages are pretty far apart (minutes). So I doubt this is what is causing the CPU spike. The next time this happens try attaching a VisualVM (https://visualvm.java.net) or doing several iterations of sudo jstack –F <process ID> And comparing what the threads are doing. Chuck From: <webobjects-dev-bounces+chill=gevityinc....@lists.apple.com<mailto:webobjects-dev-bounces+chill=gevityinc....@lists.apple.com>> on behalf of Ken Anderson <kenli...@anderhome.com<mailto:kenli...@anderhome.com>> Date: Tuesday, March 15, 2016 at 5:41 AM To: Gerald Jones <gerald.jo...@cmehawaii.com<mailto:gerald.jo...@cmehawaii.com>> Cc: "webobjects-dev@lists.apple.com<mailto:webobjects-dev@lists.apple.com>" <webobjects-dev@lists.apple.com<mailto:webobjects-dev@lists.apple.com>> Subject: Re: Performance issue Gerald, There are 2 different things happening here. The session creation exception seems to be something you’re raising in your own code. The lines below the exception relate to receiving changes made from other application instances. You’re going to have to drill down to the problem a bit more before anyone on the list can help you. Ken On Mar 15, 2016, at 1:36 AM, Gerald Jones <gerald.jo...@cmehawaii.com<mailto:gerald.jo...@cmehawaii.com>> wrote: Aloha Group, Can anyone explain to me what’s happening in these lines in our log file? We are experiencing high application cpu% that seem to coincide with this type of activity. I’m not sure how to explain it. METSAdmin-2 java.lang.RuntimeException: Session Created at com.mauishuttle.app.Session.<init>(Session.java:20) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at com.webobjects.foundation._NSUtilities.instantiateObject(_NSUtilities.java:642) at com.webobjects.appserver.WOApplication.createSessionForRequest(WOApplication.java:1974) at er.extensions.appserver.ERXApplication.createSessionForRequest(ERXApplication.java:2361) at com.webobjects.appserver.WOApplication._initializeSessionInContext(WOApplication.java:2110) at com.webobjects.appserver.WOContext.session(WOContext.java:369) at com.webobjects.appserver.WOComponent.session(WOComponent.java:1324) at com.mauishuttle.components.Main.session(Main.java:59) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.webobjects.foundation.NSKeyValueCoding$ValueAccessor$1.methodValue(NSKeyValueCoding.java:636) at com.webobjects.foundation.NSKeyValueCoding$_MethodBinding.valueInObject(NSKeyValueCoding.java:1134) at com.webobjects.foundation.NSKeyValueCoding$DefaultImplementation.valueForKey(NSKeyValueCoding.java:1324) at com.webobjects.appserver.WOComponent.valueForKey(WOComponent.java:1736) at com.webobjects.foundation.NSKeyValueCoding$Utility.valueForKey(NSKeyValueCoding.java:447) at com.webobjects.foundation.NSKeyValueCodingAdditions$DefaultImplementation.valueForKeyPath(NSKeyValueCodingAdditions.java:216) at com.webobjects.appserver.WOComponent.valueForKeyPath(WOComponent.java:1804) at com.webobjects.appserver._private.WOKeyValueAssociation.valueInComponent(WOKeyValueAssociation.java:50) at com.webobjects.appserver.WOAssociation.booleanValueInComponent(WOAssociation.java:276) at er.extensions.components.conditionals.ERXWOConditional.conditionInComponent(ERXWOConditional.java:47) at er.extensions.components.conditionals.ERXWOConditional.meetsConditionInComponent(ERXWOConditional.java:52) at er.extensions.components.conditionals.ERXWOConditional.appendToResponse(ERXWOConditional.java:124) at com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126) at com.webobjects.appserver._private.WODynamicGroup.appendToResponse(WODynamicGroup.java:136) at com.webobjects.appserver.WOComponent.appendToResponse(WOComponent.java:1122) at er.extensions.components.ERXComponent.appendToResponse(ERXComponent.java:195) at com.mauishuttle.components.wrappers.PageWrapper.appendToResponse(PageWrapper.java:36) at com.webobjects.appserver._private.WOComponentReference.appendToResponse(WOComponentReference.java:135) at com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126) at com.webobjects.appserver._private.WODynamicGroup.appendToResponse(WODynamicGroup.java:136) at com.webobjects.appserver.WOComponent.appendToResponse(WOComponent.java:1122) at er.extensions.components.ERXComponent.appendToResponse(ERXComponent.java:195) at com.mauishuttle.components.pages.DashboardPage.appendToResponse(DashboardPage.java:42) at com.webobjects.appserver.WOComponent._appendPageToResponse(WOComponent.java:1574) at com.webobjects.appserver.WOComponent._generateResponseInContext(WOComponent.java:1543) at com.webobjects.appserver.WOComponent.generateResponse(WOComponent.java:1538) at com.webobjects.appserver._private.WOActionRequestHandler._handleRequest(WOActionRequestHandler.java:278) at com.webobjects.appserver._private.WOActionRequestHandler.handleRequest(WOActionRequestHandler.java:161) at er.extensions.appserver.ERXDirectActionRequestHandler.handleRequest(ERXDirectActionRequestHandler.java:128) at com.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.java:1687) at er.extensions.appserver.ERXApplication.dispatchRequestImmediately(ERXApplication.java:2112) at er.extensions.appserver.ERXApplication.dispatchRequest(ERXApplication.java:2077) at com.webobjects.appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:144) at com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:226) at java.lang.Thread.run(Thread.java:662) Mar 14 16:04:02 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 1 changes from 10.198.52.77:53157 Mar 14 16:04:19 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 3 changes from 10.198.52.77:53157 Mar 14 16:04:37 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 1 changes from 10.198.52.77:53157 Mar 14 16:04:38 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 3 changes from 10.198.52.77:53157 Mar 14 16:06:54 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 1 changes from 10.198.52.77:53157 Mar 14 16:09:03 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 1 changes from 10.198.52.77:48348 Mar 14 16:10:14 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 1 changes from 10.198.52.77:48348 Mar 14 16:10:14 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 3 changes from 10.198.52.77:48348 Mar 14 16:10:22 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 1 changes from 10.198.52.77:51459 Mar 14 16:16:11 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 8 changes from 10.198.52.77:51459 Mar 14 16:16:26 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 2 changes from 10.198.52.77:51459 Mar 14 16:16:30 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 3 changes from 10.198.52.77:51459 Mar 14 16:21:26 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 9 changes from 10.198.52.77:51459 Mar 14 16:25:10 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 9 changes from 10.198.52.77:51459 Mar 14 16:33:06 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 1 changes from 10.198.52.77:53157 Mar 14 16:34:19 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 1 changes from 10.198.52.77:53157 Mar 14 16:34:42 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 1 changes from 10.198.52.77:53157 Mar 14 16:36:10 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 1 changes from 10.198.52.77:53157 Mar 14 16:36:12 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 2 changes from 10.198.52.77:48348 Mar 14 16:36:12 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 3 changes from 10.198.52.77:48348 Mar 14 16:36:27 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 1 changes from 10.198.52.77:53157 Mar 14 16:38:09 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 1 changes from 10.198.52.77:53157 Mar 14 16:38:11 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 3 changes from 10.198.52.77:53157 Mar 14 16:39:56 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 1 changes from 10.198.52.77:53157 Mar 14 16:39:57 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 3 changes from 10.198.52.77:53157 Mar 14 16:40:41 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 1 changes from 10.198.52.77:53157 Mar 14 16:40:42 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 3 changes from 10.198.52.77:53157 Mar 14 16:41:00 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 2 changes from 10.198.52.77:53157 Mar 14 16:41:01 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 3 changes from 10.198.52.77:53157 Mar 14 16:41:45 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 2 changes from 10.198.52.77:53157 Mar 14 16:41:46 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 3 changes from 10.198.52.77:53157 Mar 14 16:42:49 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 2 changes from 10.198.52.77:53157 Mar 14 16:42:50 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 3 changes from 10.198.52.77:53157 Mar 14 16:43:05 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 2 changes from 10.198.52.77:53157 Mar 14 16:43:06 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 3 changes from 10.198.52.77:53157 Mar 14 16:46:06 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 2 changes from 10.198.52.77:53157 Mar 14 16:46:07 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 3 changes from 10.198.52.77:53157 Mar 14 16:48:14 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 1 changes from 10.198.52.77:53157 Mar 14 16:48:14 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 3 changes from 10.198.52.77:53157 Mar 14 16:52:10 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 1 changes from 10.198.52.77:48348 Mar 14 16:53:34 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 1 changes from 10.198.52.77:48348 Mar 14 16:53:34 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 3 changes from 10.198.52.77:48348 Mar 14 16:53:49 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 5 changes from 10.198.52.77:48348 Mar 14 16:53:50 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 3 changes from 10.198.52.77:48348 Mar 14 16:56:46 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 8 changes from 10.198.52.77:53157 Mar 14 16:57:19 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 1 changes from 10.198.52.77:53157 Mar 14 16:59:40 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 8 changes from 10.198.52.77:48348 Mar 14 17:03:56 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 8 changes from 10.198.52.77:53157 Mar 14 17:06:48 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 9 changes from 10.198.52.77:48348 Mar 14 17:06:58 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 7 changes from 10.198.52.77:53157 Mar 14 17:13:43 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 1 changes from 10.198.52.77:48348 Mar 14 17:13:44 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 3 changes from 10.198.52.77:48348 Mar 14 17:15:21 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 8 changes from 10.198.52.77:53157 Mar 14 17:18:15 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 8 changes from 10.198.52.77:53157 Mar 14 17:18:38 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 5 changes from 10.198.52.77:53157 Mar 14 17:19:48 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 8 changes from 10.198.52.77:53157 Mar 14 17:20:22 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 3 changes from 10.198.52.77:53157 Mar 14 17:20:25 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 3 changes from 10.198.52.77:53157 Mar 14 17:20:42 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 1 changes from 10.198.52.77:53157 Mar 14 17:22:50 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 2 changes from 10.198.52.77:53157 Mar 14 17:24:18 METSAdmin[2003] INFO er.extensions.remoteSynchronizer.ERXRemoteSynchronizer - Received 8 changes from 10.198.52.77:48348 I appreciate any and all input. Mahalo, Gerald _______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com<mailto:Webobjects-dev@lists.apple.com>) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/kenlists%40anderhome.com This email sent to kenli...@anderhome.com<mailto:kenli...@anderhome.com>
_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com