How to get Max Egress Flows to match Configured Max Egress Flows in Solace? - solace

In the Solace CLI, I type in the following command:
solace> show message-spool message-vpn Solace_VPN
The result output contains a difference between "actual" versus "configured":
Flows
Max Egress Flows: 100
Configured Max Egress Flows: 1000
Current Egress Flows: 60
Max Ingress Flows: 100
Configured Max Ingress Flows: 1000
Current Ingress Flows: 22
How do I get "Max Egress Flows" and "Configured Max Egress Flows" to align?
Is it as easy as restarting my Message VPN (but this will disconnect all my existing clients)?
It this just a limitation of the community edition?

From the output, it would appear that your message-broker is configured to only operate at the default 100 connection scaling tier.
There are two options to get the limits to align:
If you meet the system requirements for the 1000 connections scaling tier, you can increase your connection scaling tier to 1000 using the procedure here.
Manually lower the VPN limits. This can be easily done by going to "Message VPNs, ACLs & Bridges" tab in SolAdmin, clicking on "Edit Message VPN", and adjusting the limits in the "Advanced Properties" tab.

Related

Metrics to monitor ALB quotas

Is there a way to monitor max number of target groups per ALB? It is 100 and can be easily reached when using ALB Ingress Controller in Kubernetes.

EMQX Benchmarking Issue

Is it possible to test the WebSocket connection test for 100k users on single node? If yes, how?
I am wondering how the 1 million connection test per node was carried out as claimed on EMQX official site.
If the port limit of OS itself is 65536
The server only needs one port.
The clients port limit of the operating system can be bypassed (using multiple network cards in ). You can use JMeter to test the connection. In order to simulate the client, multiple servers may be required. Here is an EMQ official video, which gives some operating procedures.
https://www.bilibili.com/video/BV1yp4y1S7zb

what factors determine "catch up speed" on Edge after a network outage

I have a customer with IoT Edge deployed to manufacturing plants in remote areas with spotty internet. They have leaf devices sending messages to IOT Edge and then to IoT Hub. They frequently have small outages (5, 10, 15 minutes). They often need to make timely decisions based on the data that makes it to IOT Hub from the plants. They've noticed, if they have a 15 minute outage, it can take anywhere from 15-30 minutes afterwards for IOT Edge to catch up.
Besides network speed itself, what are the factors that would influence that.. For example
- if we were hitting throttling based on their number of iot hub units, would that be surfaced in the edgeHub logs?
- if disk, network, etc can keep up, does edgeHub pretty much upload data as fast as possible (given throttling), or are there any other limits imposed by default?
- What is the default connection retry policy in edgeHub? is the same exponential backoff policy in the C# SDK? If so, could that be the case that if I have a 15 minute outage, that it's taking edgeHub a while after network recovery to 'try again'? If so, is that policy configurable in edgeHub? (via ENV variable or something?)
Any other things to check?

Ingress and Egress Rate of Solace Appliance

I wanted to set Ingress and Egress Rate of Solace Appliance on below mentioned 3 level.
1 : Appliances Level
2 : Message-VPN Level
3 : Queue Level
Please let me know the possibility & share CLI Commend for same.
I assume you're asking if there is a way to set rate limits to ingress or egress traffic.
There is egress traffic shaping facility available on some NABs (e.g. NAB-0610EM, NAB-0210EM-04, NAB-0401ET-04, and NAB‑0801ET‑04) but it is per physical interface (port), e.g,
solace(configure/interface)# traffic-shaping
solace(configure/interface/traffic-shaping)# egress
solace(configure/interface/traffic-shaping/egress)# rate-limit <number-in-MBPS>
If your network RTT is significant enough, you might be able to do some "rate-limit" by constraining the TCP maximum send window size with a desired bandwidth-delay product. Note that this is not a generic solution and will only work for certain cases, depending on the network environment. It can be set on the client-profile for egress traffic:
solace(configure)# client-profile <name> message-vpn <vpn-name>
solace(configure/client-profile)# tcp max-wnd <num-kilo-bytes>
There is nothing you can do for rate-limiting ingress traffic on the appliance.
I don't believe SolOS-TR supports rate limiting on the appliance side.
https://sftp.solacesystems.com/Portal_Docs/#page/Solace_Router_Feature_Provisioning/B_Managing_Consumption_of_Router_Resources.html

while tesing, I got erlang_error: "{badmatch,{error,system_limit}},{module,function,3}"?

I am doing load testing of my server with number of clients(200, 300, 500, ....3000). For testing I am using windows 64 bit systems and I am running server on one system and clients on another system. All the clients can do connections successfully, but after one minute or two minutes later, server through an erlang:error -> "{badmatch,{error,system_limit}},{module,accept_function,3}" for some server instances and dies those server instances. Can any on have a solution for this ?
Thank you in advance..
sreenivas, India.
It appears that you have hit the system limit on the number of ports you are allowed to open on your system. Have a read of this doc here to see if you can determine what your limits are.
In particular:
Open ports The maximum number of
simultaneously open Erlang ports is by
default 1024. This limit can be raised
up to at most 268435456 at startup
(see environment variable
ERL_MAX_PORTS in erlang(3)) The
maximum limit of 268435456 open ports
will at least on a 32-bit architecture
be impossible to reach due to memory
shortage.
Open files, and sockets The maximum
number of simultaneously open files
and sockets depend on the maximum
number of Erlang ports available, and
operating system specific settings and
limits.

Resources