Hi, Yes, currently Stratos Manager loads all Subcriptions at startup, and I agree this is not a very good practice. To improve this, I can think of two methods:
1. write each tenant's Subscriptions to tenant's own registry, and then load them to memory model when the tenant is loading. This information can be again removed when the tenant is unloaded. 2. load some meta information related to the Subscriptions without loading everything at server startup, and then load relevant Subscriptions when the tenant is getting loaded (lazy loading). Again, we can remove the unloaded tenant's information from the memory model. WDYT? On Mon, Aug 11, 2014 at 7:31 PM, Amila Maha Arachchi <ami...@wso2.com> wrote: > Hi all, > > Recently we were observing a delay when SM is starting in our stratos > setup. See the following log segment. It seems ADCManagement component > takes a lot of time (in this case 3 minutes). > > TID: [0] [SCC] [2014-08-11 06:49:39,850] INFO > {org.apache.stratos.messaging.message.receiver.topology.TopologyEventMessageDelegator} > - Topology event message delegator started > {org.apache.stratos.messaging.message.receiver.topology.TopologyEventMessageDelegator} > > TID: [0] [SCC] [2014-08-11 06:49:40,564] WARN > {org.wso2.andes.common.QpidProperties} - Unable to find resource > qpidversion.properties from classloader > {org.wso2.andes.common.QpidProperties} > > TID: [0] [SCC] [2014-08-11 06:50:01,119] INFO > {org.apache.stratos.messaging.message.processor.topology.CompleteTopologyMessageProcessor} > - Topology initialized > {org.apache.stratos.messaging.message.processor.topology.CompleteTopologyMessageProcessor} > > TID: [0] [SCC] [2014-08-11 06:50:01,120] INFO > {org.apache.stratos.manager.topology.receiver.StratosManagerTopologyEventReceiver} > - [CompleteTopologyEventListener] Received: class > org.apache.stratos.messaging.event.topology.CompleteTopologyEvent > {org.apache.stratos.manager.topology.receiver.StratosManagerTopologyEventReceiver} > > > > > TID: [0] [SCC] [2014-08-11 06:52:49,971] INFO > {org.apache.stratos.manager.internal.ADCManagementServerComponent} - ADC > management server component is activated > {org.apache.stratos.manager.internal.ADCManagementServerComponent} > > TID: [0] [SCC] [2014-08-11 06:52:50,020] INFO > {org.wso2.carbon.core.init.JMXServerManager} - JMX Service URL : > service:jmx:rmi://localhost:11111/jndi/rmi://localhost:9999/jmxrmi > {org.wso2.carbon.core.init.JMXServerManager} > > TID: [0] [SCC] [2014-08-11 06:52:50,247] INFO > {org.wso2.carbon.ntask.core.impl.AbstractQuartzTaskManager} - Task > scheduled: [-1234][TENANT_SYNC_TASK_TYPE][TENANT_SYNC_TASK] > {org.wso2.carbon.ntask.core.impl.AbstractQuartzTaskManager} > > TID: [0] [SCC] [2014-08-11 06:52:50,248] INFO > {org.wso2.carbon.core.internal.StartupFinalizerServiceComponent} - Server > : Apache Stratos Controller-4.0.0-SNAPSHOT > {org.wso2.carbon.core.internal.StartupFinalizerServiceComponent} > > TID: [0] [SCC] [2014-08-11 06:52:50,248] INFO > {org.wso2.carbon.core.internal.StartupFinalizerServiceComponent} - WSO2 > Carbon started in 283 sec > {org.wso2.carbon.core.internal.StartupFinalizerServiceComponent} > > TID: [0] [SCC] [2014-08-11 06:52:50,656] INFO > {org.wso2.carbon.ui.internal.CarbonUIServiceComponent} - Mgt Console URL > : https://10.0.60.12:9443/carbon/ > {org.wso2.carbon.ui.internal.CarbonUIServiceComponent} > > > I came to know, this is loading all the subscriptions when starting. > > At the moment, we have about 600 subscriptions in the environment. With > the number of tenants growing, this can cause major problems. > > What are the solutions we have to address this? > > Regards, > Amila. > > -- > *Amila Maharachchi* > Senior Technical Lead > WSO2, Inc.; http://wso2.com > > Blog: http://maharachchi.blogspot.com > Mobile: +94719371446 > > -- > Thanks and Regards, > > Isuru H. > +94 716 358 048* <http://wso2.com/>* > > > * <http://wso2.com/>* > > >