Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [milo-dev] [Q] Timing for deleting Subscription and MonitoredItems

In an environment *not* on Apache Felix (OSGi), continuous running of
lightweight server exceeded 30 days. 6 clients are connecting to
the server at the same time, and the server is running with setting
to acquire data of hundreds of node items every time.

- Sampling interval 100 (msec)
- Publishing interval 200 (msec)

Full GC occurrence interval decreased from 6 minutes to 3 minutes,
but achieved the first goal of continuous running.

The continuous running of server on Apache Felix 5.6.10 (OSGi)
exceeded 18 days. it is connected from 5 clients in the same way.
Full GC occurrence interval is 50 minutes.

Somewhat, it looks good.

On 2018/01/29 11:47, Shigeru Ishida wrote:
Here, Milo 0.1.6 based simulation server is running continuously.
This server is a light-weight server that handles hundreds of node items.
(It is different from server processing more than 10,000 node items)

Therefore, from the viewpoint of suppressing the occurrence of
OOME as much as possible, I will briefly show notes on my experience.

1) I think that the version of Netty is 4.0.x rather than 4.1.x.

2) When running the server on Apache Felix (OSGi framework),
   I think that version is 5.6.10 (latest) better than 4.6.1.
   (OSGi's request may be small)

This server is currently running without Felix for about 20 days.
Initially, Full GC occurred at intervals of about 30 minutes,
but now it is occurring at intervals of about 6 minutes.
In addition, OOME has not occurred yet.

T1) Start - 2 days: Full GC occurs at intervals of several hours
T2) After T1 - 14 days elapsed: Full GC occurs at intervals of about 30 minutes
T3) After T2 - To date: Full GC occurs at intervals of about 6 minutes

I made this simulation server simple, but I think that there is
still a possibility that OOME will occur in the future.

<ishida_shigeru@xxxxxxxxxxx> wrote, Wed, 17 Jan 2018 10:35:53 +0900 (JST)

Thank you very much. I understood.

<kevinherron@xxxxxxxxx> wrote, Tue, 16 Jan 2018 17:18:43 -0800

They should get deleted when the session either times out or is closed by
the client.

If the client is disconnecting without closing the session, and the session
timeout was significant, this could result in the number of orphaned
sessions (and the associated subscriptions and items) growing.

I'll take a look and make sure that session are timing out and being
cleaned up correctly as well, just in case.

On Tue, Jan 16, 2018 at 5:05 PM, Shigeru Ishida <ishida_shigeru@xxxxxxxxxxx>
wrote:

Hi Kevin,

When will information of Subscription and MonitoredItems created by
the server be deleted ?

Will the server automatically delete these information when default
mechanism of Milo works when the client terminates the connection
normally or when the client terminates unexpectedly ?
(ex. kill -9 client-pid)

Or is it necessary for the client to record the SubscriptionId previously
used and throw a delete request to the server when the client is restarted
?

Here, with Apache Felix removed, the server is running stably.
Once the re-establishing process has been executed, createSubscription()
and createMonitoredItems() are called and processing continues.

Therefore, a simulation server assuming process lines, process units,
and node items of a factory with a larger scale is also created and running
continuously. The total number of node items of this simulation server is
over 10,000.

Another company's client product is connected to this server, and OOME has
occurred on the server as a result of this client repeatedly connecting and
disconnecting.

Regards,

--Shigeru
_______________________________________________
milo-dev mailing list
milo-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe
from this list, visit
https://dev.eclipse.org/mailman/listinfo/milo-dev



Back to the top