Hi, I am using OE11.63, over AIX plataform, we have a appserver with a lot of request, but our problem is "Active Clients"
We see that the number of clients is growing as the day progresses until it reaches its maximum and blocks the service.
The current value for maximum clients is 1024, and I don´t want to keep growing it.
There is a way to free the appserver? this is a programming issue?
Hi Brian, thanks for your answer, but, apart of
h_app:disconnect()
delete object h_app.
There is any thing else to do it?
Regards
This si the app server status, the mode is Stateless.
asbman -i soiw -q
OpenEdge Release 11.6.3 as of Thu Sep 8 19:00:46 EDT 2016
Connecting to Progress AdminServer using rmi://localhost:20931/Chimera (8280)
Searching for soiw (8288)
Connecting to soiw (8276)
Broker Name : soiw
Operating Mode : Stateless
Broker Status : ACTIVE
Broker Port : 3995
Broker PID : 13763050
Active Servers : 10
Busy Servers : 1
Locked Servers : 0
Available Servers : 9
Active Clients (now, peak) : (1, 7)
Client Queue Depth (cur, max) : (0, 0)
Total Requests : 7590
Rq Wait (max, avg) : (1 ms, 0 ms)
Rq Duration (max, avg) : (17448 ms, 82 ms)
PID State Port nRq nRcvd nSent Started Last Change
14877282 AVAILABLE 02707 000752 000752 000756 Nov 16, 2017 07:52 Nov 16, 2017 10:55
15466592 AVAILABLE 02708 000758 000758 000758 Nov 16, 2017 07:52 Nov 16, 2017 10:55
15073384 AVAILABLE 02709 000772 000772 000773 Nov 16, 2017 07:52 Nov 16, 2017 10:55
14418184 AVAILABLE 02710 000763 000763 000765 Nov 16, 2017 07:52 Nov 16, 2017 10:55
13566458 AVAILABLE 02711 000753 000753 000755 Nov 16, 2017 07:52 Nov 16, 2017 10:55
13238372 AVAILABLE 02712 000749 000749 000752 Nov 16, 2017 07:52 Nov 16, 2017 10:55
14353336 RUNNING 02713 000763 000763 000764 Nov 16, 2017 07:52 Nov 16, 2017 10:55
7471450 AVAILABLE 02714 000749 000749 000750 Nov 16, 2017 07:52 Nov 16, 2017 10:55
14025082 AVAILABLE 02715 000767 000767 000767 Nov 16, 2017 07:52 Nov 16, 2017 10:55
14287100 AVAILABLE 02716 000765 000765 000767 Nov 16, 2017 07:52 Nov 16, 2017 10:55
We don´t run any persistent programs. This appserver is the back end for a REST application, have a lot of calls, but shorts ones.
Running the same programs all day long, but as the number of request grow, fail to free the client.
Here is a example of code that we are using.
114 CREATE SERVER h_app.
115 msino = h_app:CONNECT ("-AppService soiw -S 5162 -H " +
115 mServer) NO-ERROR.
116
117 1 IF NOT msino THEN DO:
118 1 CREATE estatus.
119 1 estatus.codigo = "500".
120 1 estatus.mensaje = "Sin conexion para crear Venta".
121 1 RETURN.
122 END.
123
124 RUN soi/crea_t_pagos_3.p ON h_app ( TABLE sesion,
125 ticket.origen,
126 ticket.ticket,
127 INPUT TABLE pago,
128 INPUT TABLE opcionales,
129 OUTPUT TABLE venta,
130 OUTPUT TABLE estatus
131 ).
132
133 h_app:DISCONNECT ().
134 DELETE OBJECT h_app.
Thanks Brian, I already did it. But I am looking everywhere for help...Some times over here is faster than support..
Hello Carlos,
at line 121 you leave your program without deleting object h_app.
The persistent procedure does still persistently on the appserver from the client.
I think that, if you delete object h_pp before the RETURN, your problem maybe is solved.
Kind regards,
Richard Zwart
I agree with [mention:6a07d624f4174b7395501c64e5a45da8:e9ed411860ed4f2ba0265705b8793d05] and adding to what he suggested. Delete "object h_app" inside the FINALLY block. This will make sure that object is deleted even when there are abrupt/unhandled exceptions in the code.