activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Clebert Suconic <clebert.suco...@gmail.com>
Subject Re: ARTEMIS: bad-performance behaviour after 7-10 days of usage
Date Mon, 30 Jan 2017 16:53:40 GMT
apparently there's a bug MQTT retained queues. when you disabled
persistence on the broker we removed the capacity of validating or
debugging it.


On Mon, Jan 30, 2017 at 9:58 AM, francesco81
<Francesco.PADOVANI@bticino.it> wrote:
> Hello,
> just an update about this topic.
>
> By disabling persistence, the broker starts again to work fast and reliable.
> But just for about 2 more weeks: then the memory come bake to be full and
> the broker starts to page constantly, and cpu usage goes to 100%.
>
> I tried to run the command "artemis data print" as you suggested, but I have
> to admit my ignorance to read the results.
> I did redirect the command result to a file and it produced about 758 MB of
> data.
> I noticed no strange things among the initial lines but this:
>
> /*17:39:47,214 FINE  [io.netty.util.internal.PlatformDependent] Javassist:
> unavailable
> 17:39:47,215 FINE  [io.netty.util.internal.PlatformDependent] You don't have
> Javassist in your class path or you don't have enough permission to load
> dynamically generated classes.  Please check the configuration for better
> performance.*/
>
> ...I don't know how much this will weigh on performances.
>
> Then I have a "B I N D I N G S  J O U R N A L" section with thousands of
> lines like the followings:
>
> /*operation@AddRecordTX;txID=109,recordID=110;userRecordType=21;isUpdate=false;compactCount=0;PersistentQueueBindingEncoding
> [id=110,
> name=b7478faf-f0fd-481a-93ef-b6109dc3a689..cro.plantid.1073403.gwid.25324.device_profile.04.set,
> address=.cro.plantid.1073403.gwid.25324.device_profile.04.set,
> filterString=NOT ((AMQAddress = 'jms.queue.activemq.management') OR
> (AMQAddress = 'activemq.notifications')), user=gateway, autoCreated=false]
> operation@Commit;txID=109,numberOfRecords=1*/
>
> ...where "cro.plantid.1073403.gwid.25324.device_profile.04.set" is an
> example of a topic for a specific plant (there are about 48 topic for
> plant).
> What does "isUpdate=false;compactCount=0;PersistentQueueBindingEncoding"
> mean?
>
> Then I have a "### Surviving Records Summary ###" section, again with
> thousands of lines like this:
>
> /*recordID=5205;userRecordType=21;isUpdate=false;compactCount=0;PersistentQueueBindingEncoding
> [id=5205, name=1447f6a659bc9bc0df2e55..cro.plantid.1071617.gwid.30889.
> device_profile.02.err,
> address=.cro.plantid.1071617.gwid.30889.device_profile.02.err,
> filterString=NOT ((AMQAddress = 'jms.queue.activemq.management') OR
> (AMQAddre
> ss = 'activemq.notifications')), user=gateway, autoCreated=false]*/
>
> Then I have the section "### Prepared TX ###", which is empty, and the ###
> Message Counts ### as following:
> message count=0
> message reference count
> prepared message count=0*/
>
> Then I have the "M E S S A G E S   J O U R N A L" section with thousands of
> lines like the followings:
>
> peration@AddRecord;recordID=10088;userRecordType=31;isUpdate=false;compactCount=0;Message(messageID=10086;msg=ServerMessage[messageID=10086,durable=true,userID=nu
> ll,priority=0, bodySize=512, timestamp=0,expiration=0, durable=true,
> address=$sys.mqtt.retain..cro.plantid.1073620.gwid.32646.device_state.err,properties=TypedProp
> erties[mqtt.message.retain=true,mqtt.qos.level=1]]@1144068272
> operation@Update;recordID=10088;userRecordType=32;isUpdate=true;compactCount=0;AddRef;QueueEncoding
> [queueID=65]
> operation@Update;recordID=10088;userRecordType=32;isUpdate=true;compactCount=0;AddRef;QueueEncoding
> [queueID=9747]
> operation@Update;recordID=10088;userRecordType=32;isUpdate=true;compactCount=0;AddRef;QueueEncoding
> [queueID=7774]
>
> ... and no deleteRecord operation for that id (10088): I don't know if it is
> right.
>
> Then I have again the "### Surviving Records Summary ###" with thousands of
> line like the followings;
>
> recordID=196;userRecordType=31;isUpdate=false;compactCount=0;Message(messageID=196;msg=ServerMessage[messageID=196,durable=true,userID=null,priority=0,
> bodySize=2048, timestamp=0,expiration=0, durable=true,
> address=.cro.plantid.1073403.gwid.25324.device_profile.04,properties=TypedProperties[mqtt.message.retain=true,mqtt.qos.level=2]]@207430813
> recordID=196;userRecordType=32;isUpdate=true;compactCount=0;AddRef;QueueEncoding
> [queueID=65]
>
> ...again my ignorance: why "durable=true"? because retained? because qos2?
>
> for the MESSAGES JOURNAL I have the ### Message Counts ### with thousands of
> lines like these:
> message count=55958
> message reference count
> queue id 2,count=11
> queue id 196608,count=2
> queue id 4,count=1
> queue id 196619,count=4
> queue id 65547,count=1
> queue id 196625,count=2
> queue id 196630,count=2
> queue id 65559,count=1
> queue id 1081351,count=1
> queue id 163869,count=17
> queue id 163875,count=2307
> ... what does this mean?
>
> Finally I have the "P A G I N G" section with thousands of lines like the
> following:
>
> /*Exploring store .cro.plantid.1074918.gwid.33300.device_profile.02 folder =
> /app/mqtt/activeMQ/brokers/eltbroker01/./data/paging/5ac5a57d-dcc1-11e6-a52b-069133a4f5c
> f
> *******   Page 1
> 17:40:26,550 DEBUG [org.apache.activemq.artemis.core.paging.impl.Page]
> reading page 1 on address =
> .cro.plantid.1074918.gwid.33300.device_profile.02
> pg=1, msg=0,pgTX=-1,userMessageID=,
> msg=ServerMessage[messageID=1034283,durable=true,userID=null,priority=0,
> bodySize=2048, timestamp=0,expiration=0, durable=true,
> address=.cro.plantid.1074918.gwid.33300.device_profile.02,properties=TypedProperties[mqtt.message.retain=true,mqtt.qos.level=2]]@1029639001,Queues
> = 1034178
> pg=1, msg=1,pgTX=-1,userMessageID=,
> msg=ServerMessage[messageID=1036477,durable=true,userID=null,priority=0,
> bodySize=2048, timestamp=0,expiration=0, durable=true,
> address=.cro.plantid.1074918.gwid.33300.device_profile.02,properties=TypedProperties[mqtt.message.retain=true,mqtt.qos.level=2]]@745530122,Queues
> = 1036418,103417
> 8,1035409
> pg=1, msg=2,pgTX=-1,userMessageID=,
> msg=ServerMessage[messageID=1038280,durable=true,userID=null,priority=0,
> bodySize=2048, timestamp=0,expiration=0, durable=true,
> address=.cro.plantid.1074918.gwid.33300.device_profile.02,properties=TypedProperties[mqtt.message.retain=true,mqtt.qos.level=2]]@752575846,Queues
> = 1036418,103797
> 9,1034178,1035409,1036769,1037082
> ...
> */
>
> ...but, in this case for example, since on topic/address
> "cro.plantid.1074918.gwid.33300.device_profile.02" travel only retained
> messages, I thought that at anytime there could be at most only 1 message
> per time (because the next retained will substitute the previous one)...
> It's not so?
> And also here: why durable true? Because QoS2? Does "durable=true" mean that
> these messages will persist in memory forever?
>
> sorry for these patches of information ...but the result of "data print"
> command was too big for an upload.
> Anyway, hope can help you to help me.
>
> Francesco
>
>
>
>
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/ARTEMIS-bad-performance-behaviour-after-7-10-days-of-usage-tp4721272p4721395.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.



-- 
Clebert Suconic

Mime
View raw message