OM2M - Missing data in NSCL [message #1749730] |
Sat, 10 December 2016 12:33 |
Matej AA Messages: 23 Registered: February 2016 |
Junior Member |
|
|
Hi,
i set up OM2M NSCL on my computer A (8 cores, 16GB RAM) and create simple application in NSCL applications.
I was testing OM2M solution with JMeter:
1. Sending 15k data from PC A, with automatic sending speed (if response time was higher, data was sent slower). All data was in H2.
2. Sending 15k from A, B, C and D with automatic sending speed (if response time was higher, data was sent slower). It took 30min for about 18k but some data in H2 was missing.
3. Sending 12k, 20k, 24k in 32k from A, B, C and D with unlimited sending speed (took about 2min). In H2 was 1/3 of sent data.
Dont know what is worong... Has OM2M some problems with accepting data from multiple clients at high speed? Its possible to parallelize some OM2M components? I also noticed that WEBGUI is realy unresponsive when OM2M contains more then 10k of data. Its realy hard to browse throught all contentInstances.
Thanks,
Matej
[Updated on: Sat, 10 December 2016 12:36] Report message to a moderator
|
|
|
|
|
|
|
|
|
Re: OM2M - Missing data in NSCL [message #1750309 is a reply to message #1749730] |
Mon, 19 December 2016 19:07 |
Matej AA Messages: 23 Registered: February 2016 |
Junior Member |
|
|
I used JMeter and "OM2M-DEV-13112016". HTTP Request with 1000ms response time.
4PC:
-A: 4core, 1500 data per core. Sum:6000
-B: 2core, 1500 data per core. Sum:3000
-C: 2core, 1500 data per core. Sum:3000
-D: 2core, 1500 data per core. Sum:3000
After 17 mins, i opened H2 database and executed:
SELECT COUNT(*) FROM CIN; Result was 9480.
I tried to DATA in web app and got that exception:
[INFO] - org.eclipse.om2m.core.router.Router
Request handling in the current CSE: /in-cse/in-name/MY_SENSOR/DATA
[INFO] - org.eclipse.om2m.core.router.Router
ResourceController to be used [ContentInstanceController]
[EL Severe]: cache: 2016-12-19 19:43:09.672--ClientSession(1533855376)--MAX TIME 600 seconds EXCEEDED FOR WRITELOCKMANAGER WAIT. Waiting on Entity type: org.eclipse.om2m.commons.entities.ContainerEntitywith pk: /in-cse/cnt-761411626 currently locked by thread: qtp71587369-76 with the following trace:
atjava.lang.Object.wait(Native Method)
atorg.eclipse.persistence.sessions.server.ConnectionPool.acquireConnection(ConnectionPool.java:159)
atorg.eclipse.persistence.sessions.server.ServerSession.getAccessors(ServerSession.java:538)
atorg.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:557)
atorg.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:242)
atorg.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:228)
atorg.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectOneRow(DatasourceCallQueryMechanism.java:714)
atorg.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectOneRowFromTable(ExpressionQueryMechanism.java:2801)
atorg.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectOneRow(ExpressionQueryMechanism.java:2754)
atorg.eclipse.persistence.queries.ReadObjectQuery.executeObjectLevelReadQuery(ReadObjectQuery.java:545)
atorg.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:1168)
atorg.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:899)
atorg.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:1127)
atorg.eclipse.persistence.queries.ReadObjectQuery.execute(ReadObjectQuery.java:431)
atorg.eclipse.persistence.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:3214)
atorg.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1804)
atorg.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1786)
atorg.eclipse.persistence.internal.indirection.NoIndirectionPolicy.valueFromQuery(NoIndirectionPolicy.java:326)
atorg.eclipse.persistence.mappings.ForeignReferenceMapping.valueFromRowInternal(ForeignReferenceMapping.java:2294)
atorg.eclipse.persistence.mappings.OneToOneMapping.valueFromRowInternal(OneToOneMapping.java:1860)
atorg.eclipse.persistence.mappings.ForeignReferenceMapping.valueFromRow(ForeignReferenceMapping.java:2144)
atorg.eclipse.persistence.mappings.ForeignReferenceMapping.readFromRowIntoObject(ForeignReferenceMapping.java:1471)
atorg.eclipse.persistence.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:461)
atorg.eclipse.persistence.internal.descriptors.ObjectBuilder.refreshObjectIfRequired(ObjectBuilder.java:4304)
atorg.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:1039)
atorg.eclipse.persistence.internal.descriptors.ObjectBuilder.buildWorkingCopyCloneNormally(ObjectBuilder.java:898)
atorg.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObjectInUnitOfWork(ObjectBuilder.java:851)
atorg.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:734)
atorg.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:688)
atorg.eclipse.persistence.queries.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:795)
atorg.eclipse.persistence.queries.ReadObjectQuery.registerResultInUnitOfWork(ReadObjectQuery.java:885)
atorg.eclipse.persistence.queries.ReadObjectQuery.executeObjectLevelReadQuery(ReadObjectQuery.java:552)
atorg.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:1168)
atorg.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:899)
atorg.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:1127)
atorg.eclipse.persistence.queries.ReadObjectQuery.execute(ReadObjectQuery.java:431)
atorg.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1215)
atorg.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2896)
atorg.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1804)
atorg.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1786)
atorg.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1737)
atorg.eclipse.persistence.internal.jpa.EntityManagerImpl.executeQuery(EntityManagerImpl.java:900)
atorg.eclipse.persistence.internal.jpa.EntityManagerImpl.findInternal(EntityManagerImpl.java:843)
atorg.eclipse.persistence.internal.jpa.EntityManagerImpl.find(EntityManagerImpl.java:719)
atorg.eclipse.persistence.internal.jpa.EntityManagerImpl.find(EntityManagerImpl.java:588)
atorg.eclipse.om2m.persistence.eclipselink.internal.dao.ContainerDAO.find(ContainerDAO.java:40)
atorg.eclipse.om2m.persistence.eclipselink.internal.dao.ContainerDAO.find(ContainerDAO.java:1)
atorg.eclipse.om2m.core.controller.ContentInstanceController.doCreate(ContentInstanceController.java:98)
atorg.eclipse.om2m.core.controller.Controller.doRequest(Controller.java:76)
atorg.eclipse.om2m.core.router.Router.doRequest(Router.java:224)
atorg.eclipse.om2m.binding.http.RestHttpServlet.service(RestHttpServlet.java:130)
atjavax.servlet.http.HttpServlet.service(HttpServlet.java:790)
atorg.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
atorg.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
atorg.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:76)
atjavax.servlet.http.HttpServlet.service(HttpServlet.java:790)
atorg.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:360)
atorg.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
atorg.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503)
atorg.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:229)
atorg.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
atorg.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)
atorg.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
atorg.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
atorg.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
atorg.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
atorg.eclipse.jetty.server.Server.handle(Server.java:370)
atorg.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
atorg.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982)
atorg.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043)
atorg.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
atorg.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
atorg.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
atorg.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)
atorg.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)
atorg.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
atorg.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
atjava.lang.Thread.run(Unknown Source)
(There is no English translation for this message.)
[EL Severe]: cache: 2016-12-19 19:43:09.681--ServerSession(2053940301)--Current object locks:
Thread : qtp71587369-76
Locked Object : org.eclipse.om2m.commons.entities.ContainerEntity@88037c5
PK: /in-cse/cnt-761411626
Depth : 1
Locked Object : org.eclipse.om2m.commons.entities.AeEntity@46d0a766
PK: /in-cse/CAE704876354
Depth : 1
End of locked objects.
I did another test:
Sent 10k data (4 cores, 2500 per core). Throughput at start was around 140s/s at end around 10/s. After i started sending again throughput was 7/s at beginning.
Hmm do you know what could be wrong? Am i sending to much/fast data?
[Updated on: Mon, 19 December 2016 19:08] Report message to a moderator
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.08801 seconds