No announcement yet.

SellerDeck Server Performance Issues

  • Filter
  • Time
  • Show
Clear All
new posts

    SellerDeck Server Performance Issues

    Installations of SellerDeck Ecommerce software may include two Servers. These coordinate between different components, and instances of the software. The Sync server synchronises access between different instances of the software. For example, when an order is opened on one machine, it is locked on all other machines.

    The EPOS server maintains stock level information between the EPOS database and SellerDeck Ecommerce software.

    Calls are made from SellerDeck Ecommerce software over the network to the servers and they send back a reply. In looking at some Sync server logs it was discovered that there was a delay of 200ms in processing each call. This isn't long but it can soon add up. One example is when opening orders with lots of registered users. The delay observed for one site was 8 seconds.

    The delay of 200ms is due to a little-known interaction between two techniques implemented in TCP, the method used to transfer information over the Internet: Nagle and TCP Ack Frequency. For more detailed information see this article.

    We are introducing a fix which works around this problem in the Server code in v11. In the meantime, it is possible to change the TCP Ack Frequency characteristics on the Server PC by setting a registry entry, and eliminate the delay.

    Please note that changing the registry always has some risk. In this case the change will increase network traffic. In detail it causes the Server to acknowledge every packet sent to it rather than sending an 'Ack' (acknowlegement) every second packet.

    Complete instructions for changing TCP Ack Frequency are given in this MSDN article *. This also applies to Windows 7 - with details here * (search on TcpAckFrequency).

    To change the value do the following steps.
    1. Find the IP address of the server. Hold down the Windows key and then press R. Type "cmd" in the text box and click "OK".
    2. Type in "ipconfig" and press return.
    3. The various internet connections on the server will be listed. Look for an entry with a valid IPV4 address, something like If you have more than one connection to the network make a note of all the IP addresses.
    4. Run the registry editor. Hold down the Windows key and then press R. Type "regedit" in the text box and click "OK".
    5. Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces
    6. There will be a set of GUIDs there - long sequences of numbers and letters, enclosed in curly braces. Open each in turn, and find the one that has an entry "IPAddress" with value that matches the IP address noted previously.
    7. Right-click under existing entries for that GUID, select New and then "DWORD (32-bit) value". Enter the name "TcpAckFrequency" and hit Enter.
    8. Modify the new entry by right-clicking it, and select Modify. Enter a "Value data" of 1 (either Hexadecimal or Decimal). Click OK.
    9. Close RegEdit and restart the PC.

    If in the future you want to clear this value, set it to the default of 2 or delete the registry entry. The PC will have to restarted again.

    * This article is current May 2011.

    PLEASE NOTE: This article is intended for use with v10 and v9 of the software only.