Modbus write sometimes takes too long

I’m using tcp modbus PE11 gateway at 57k speed for read/write communications with 8channell relay.

Bridge modbus:tcp:ion8cs_14 "ION8#14" [ host="192.168.10.70", port="8898", id=14] {
    Bridge poller output [ start=0, length=8, type="coil", refresh=2000 ] {
        Thing data c1 "ION8#14_1" [ readStart="0", readValueType="bit", writeStart="0", writeType="coil"]
        Thing data c2 "ION8#14_2" [ readStart="1", readValueType="bit", writeStart="1", writeType="coil"]
        Thing data c3 "ION8#14_3" [ readStart="2", readValueType="bit", writeStart="2", writeType="coil"]
        Thing data c4 "ION8#14_4" [ readStart="3", readValueType="bit", writeStart="3", writeType="coil"]
        Thing data c5 "ION8#14_5" [ readStart="4", readValueType="bit", writeStart="4", writeType="coil"]
        Thing data c6 "ION8#14_6" [ readStart="5", readValueType="bit", writeStart="5", writeType="coil"]
        Thing data c7 "ION8#14_7" [ readStart="6", readValueType="bit", writeStart="6", writeType="coil"]
        Thing data c8 "ION8#14_8" [ readStart="7", readValueType="bit", writeStart="7", writeType="coil"]
    }
}

This working well for a year except of incomprehensible delays when write that sometimes happen, sometimes it can be instant, sometimes 2-3-4 seconds.
In the logs I see that at this moment seconds gap between the recording event and confirmation of success. What could be causing this and can it be fixed?

Do you have a serial line behind gateway? Do you have a budget relay board or similar?

Overall access to serial line is coordinated and in most of the cases next request can not be send until earlier one is done.
The polling you do might also cause device to be slow to handle writes.

Third idea which comes to my mind is internal logic of modbus binding which waits a moment before issuing a call so it can write i.e three registers coming from same poller range.

rs485 two line, 5 same non-budget Ukrainian relays. Pooling can be an issue, but I don’t how to solve this.