DB2: Recommendations on maxHttpBufferSize setting?

I have seen a couple of references about the need to increase the max dashboard output message size (default is 1mb) in the ui-tabulator documentation and also in the Flowfuse documentation ( Settings | Node-RED Dashboard 2.0 ). I was running into connection reset (disconnect) issues when trying to fetch about 4000 records in a ui-tabulator table.

I increased the size to 100mb based on the example in both, the ui-tabulator documentation and the Flowfuse documentation and that seemed to fix the issue (testing on Node-RED on my laptop - MacBook Pro 16GB RAM, 512GB HD). However, my actual server is a Raspberry Pi 5 8GB RAM, 128GB SD card) and I was wondering if there are any guidelines or real world examples that someone could share.

I realize that this is going to vary based on individual use cases, so just some general guidance on size would be appreciated. Is 100mb too much? Too little? Or about right, given the platform that I’m running Node-RED on? The dataset is unlikely to be larger than 5000-7000 records (they are log entries for a day), 7 columns of data (integer, dates, 3 text fields).

Thanks for your help

EDIT: The same data has no issues in DB1 ui_table (I have both working at the same time)

maxHttpBufferSize is the maximum individual message size for messages between Dashboard (in the client browser) and Node-RED.

I'm not sure how large D2 messages might get as I don't use it much. I think I've tested UIBUILDER (which has the same setting) at 100MB (1e8) which I seem to remember was OK with a server with 8GB RAM, not sure if I ever tested that on a Pi.

You shouldn't need to change it though unless you are transferring very large individual messages. I think I only needed to change it above 1MB when trying to transfer complete files over a single message.

1 Like

Thanks for the quick reply. I am not uploading/download files but returning data from SQL queries and showing that in ui-tabulator. I don’t appear to have a problem if the dataset is about 2000 rows (I have another table that handles that amount correctly with the same type/number of columns). The frustrating thing is that it works fine in DB1 (which I believe also had a buffer size of 1MB). I will try and bump it up to 100MB and see if has an issue. I am running Homebridge a Node-RED on the same Pi, so hopefully it will work. :crossed_fingers:t3:

I've commented previously on the size of D2, the use of Vue and additional libraries and the need to transfer code as well as data may raise the bar for message sizes. I've not really tested it.

You may be able to test the msg size by looking at your browser's dev tools. Have a look at the network tab on the socket.io line marked by a 101 status code. Here is an example from my home dashboard that uses UIBUILDER:

Each msg over socket.io shows the length of the msg. It should let you fine-tune your buffer size.

1 Like

I’m not seeing similar output in Safari Web Inspector. I do see the Network tab and the socket.io line but the result looks nothing like yours.

Should I be looking elsewhere? Or a different browser?

In safari you can see the socket data in the sources tab.

1 Like

I would install a Chromium based browser such as Vivaldi or Brave.