TallyPrime Server Guide for Optimised Performance
This page outlines a checklist of best practices that Partners/IT admins can utilise for optimised performance in TPS (TallyPrime Server) environments.
Details on TPS (TallyPrime Server), like its purpose and key features, can be found on this TallyPrime Server page.
Deployment Types & Recommendations
Customers may implement different deployments that utilise TPS (TallyPrime Server) in conjunction with TP (TallyPrime). This section discusses various types of deployments and recommends those that offer the best value.
On-premise: Physical server
Physical Server
In this deployment, TPS (TallyPrime Server) is deployed on the server system, and TP (TallyPrime) is deployed either on the different client systems or on the server system (in case of RDP).
Access Methods
-
Through wired LAN/WiFi
Users connect to the server system through wired LAN/WiFi. TPS is deployed on the server system, and TP is deployed on different systems. -
Through RDP (with/without VPN)
Users connect to the server system through RDP with or without VPN. TPS is deployed on the server system along with TP. In this case, the same physical resources of the server will be utilised.
On-Premise: Virtualised Server
This is a variation of the On-premise deployment. In some organizations with in-house IT expertise, they may choose to use virtualisation for centralized management, and better resource utilization. Here, a Physical server is virtualized into multiple VMs using virtualization technologies like Hyper-V.
TPS is installed on one VM, and TP is installed on other VMs located on-premises that share the same physical resources and may cause performance issues.
Access Methods
-
Through wired LAN/WiFi
The VM server and VM clients are connected in LAN/WiFi environment. TPS is deployed on a VM server, and TP is deployed on different VM clients. -
Through RDP (with/without VPN)
The VM server and VM client systems are connected through an RDP (with/without VPN) environment. TPS is deployed on the VM server, and TP is deployed on VM clients.
Recommendation
It is recommended to have an on-prem physical server deployment accessed through wired LAN instead of WiFi, as Ethernet will have much better performance, lower latency, and stability than WiFi.
Example of Deployment
Type: On-premise physical deployment
Case: 10 users, connected through LAN or Hybrid (some users access in LAN, some access through) RDP))
-
What’s on the server system: TallyPrime Server, Tally Gateway Server, TallyPrime Server license, TallyPrime Gold license
-
What’s on the client system: TallyPrime, Tally Gateway Server is installed (gold license is accessed from the network)
-
In case of Hybrid environment: TallyPrime is also installed on the server machine and users can access it through RDP (mstsc).
On Cloud: Public/Private
This is another type of deployment, which is on the cloud (Public or Private), TPS and TP are deployed on VMs. The server and clients are connected to the internet.
TPS and TP are installed on a single VM or multiple VMs
In this deployment, TPS and TP are deployed on a single VM where resources will be shared, or in case of multiple VMs, which will have dedicated resources.
Access Methods
-
Through browser
Users can access the Cloud VM through the browser. The TPS and TP applications are installed on the VMs. -
Through client software provided by the cloud vendor
Users can also utilise the client software provided by the cloud vendor to connect to the cloud VM. It can be accessed through RDP as well in case of a Windows VM.
Example of Deployment
Type: Public cloud deployment
Scenario: 5 users are using a single VM on a public cloud (like AWS)
-
What’s on VM
On the TallyPrime Server and TallyPrime applications
Tally Gateway Server, TallyPrime Server license, TallyPrime, TallyPrime gold license. -
What’s on user’s on the machine
VM is accessed through a browser or client software provided by the vendor.
Recommended Hardware configuration
Below are the recommended hardware configuration for the on-premise physical server model.
Client system:
Server system:
Particulars | Recommended Configuration |
Processor |
2 GHz 64-bit (x64) architecture processor or above; Core i3, i5 equivalent, or above |
RAM |
While choosing the RAM, consider the number of users, along with the data size. If TP & TPS are running on the same machine (in case of RDP access):
If TP & TPS are running on different machines:
|
Hard Disk |
Have sufficient storage based on the number of users accessing the server The type of storage can be SSD/SSD NVMe |
Operating System | MS Windows Server 2012 or above (64 bit) |
Further recommendations:
Ensure that exclusion rules are taken care of for the firewall and antivirus software.
Average RAM usage per user instance: Check it from Task Manager> Details > right click on headers > Select columns > Peak working set (memory) and see the value for Tally process.
Troubleshooting Checklist
When accessed through wired LAN/WiFi
When accessing TP and TPS through wired LAN/WiFi, if any performance issues (like TP is slow or unresponsive during operations) are observed, here are some of the key items to be checked.
On the client machine
-
Server Reachability – Check whether you can reach the server.
-
How to check: In the command prompt (cmd) – ping <server IP address/hostname>.
-
Resolution: If no response, see whether the server is restarted or IP has changed, or the firewall is blocking the service.
-
-
Network Latency and Throughput.
-
Latency:
-
How to check: In the cmd, ping <server IP address/host name> -t . It gives a latency value (round-trip time for a request) by sending continuous pings and provides min/avg/max latency and packet loss issues.
-
Latency for wired LAN/WiFi
-
VPN or Firewall may add a bit of additional latency due to encryption/decryption overhead in VPN, or inspection of network traffic in case of a firewall.
-
Latency range
1-3 ms is ideal. If it is > 5 ms, you may observe performance issues.
-
-
-
Throughput:
Check the network throughput, which is the amount of data that gets transferred over the network in a given time.-
How to check:
-
Check actual throughput: – Task Manager > Performance > Ethernet or WiFi > check send/receive speed (actual throughput).
- Check the theoretical max throughput (link speed): In Windows PowerShell, type
Get-NetAdapter -Physical | Format-Table Name, Status, LinkSpeed – AutoSize.
-
-
-
Resolution for Latency and Throughput:
-
If using WiFi: When the latency is high or if the link speed is very high, but the actual throughput is low.
-
Use WiFi analyzer tools like WiFi analyzer, and Netspot and modify settings like band, and channel in the WiFi router. If the problem persists, use a mesh WiFi system for better signal distribution.
-
-
If using wired LAN – Check whether the network equipment (router/switch) is working correctly and it is better to use Cat 5e, Cat 6 or above cables, as they support higher bandwidth (100 MHz, 250 MHz) and higher speeds (1 GBPS, up to 10 GBPS).
-
-
-
Resource utilization – Check the CPU, RAM, and Disk usage.
-
How to check: Go to Windows Task Manager and check the usage.
-
Resolution: Turn off unwanted processes to save resources.
-
-
Firewall/Antivirus – If you are using these, sometimes Tally files may get intercepted.
Resolution: Ensure exclusion rules are set for Tally executables and files.
On the server machine
-
Resource utilization – Check the CPU, RAM and Disk usage:
-
How to check: Go to Windows Task Manager and check the usage.
-
Resolution: Turn off unwanted processes to save resources.
-
-
TallyPrime server service status: Check whether tssvc service is running
-
How to check: Go to Services.msc from Run command and ensure it is running.
- If you have multiple versions of TPS installed, you will see different tssvc service for each. Check the Properties of a given service to identify the right one.
- Resolution: If the service is not running, then ensure to keep it in a running state.
-
-
TallyPrime server gateway service status – Check whether the gateway service is running
-
How to check: Go to Services.msc from Run command and ensure it is running.
-
If multiple versions of TPS are installed, you will see different gateway services for each. Check the Properties of a given service to identify the right one.
-
Resolution: If the service is not running, then ensure to keep it in a running state.
-
-
Firewall/Antivirus – If you are using these, sometimes Tally files may get intercepted.
Resolution: Ensure exclusion rules are set for Tally executables and files. -
TSSVC service dump file when Tally is stuck for all users.
-
Resolution: You can restart the server.
-
Before restarting the server, take the dump file of the tssvc service (In Task Manager, right-click TallyPrime Server and select Create memory dump file) and share it with the TallyCare team for analysis
-
If already restarted – share the tssvc*.dmp, tssvc*.log files with TallyCare team for analysis
-
-
-
Ensure a static IP is assigned for the server rather than a dynamic IP address to avoid connection issues or IP changes, which may disrupt the communication between TP and TPS.
When VM is accessed through the Cloud
The parameters mentioned in section 3.1.2 (On the Server machine) are valid here as well. However, cloud VMs may run on different OS (Windows/Linux); you may need to choose the right places for the above-stated information.
For the client side parameters, additionally, internet speed can also be verified using different speed test tools.
When accessed through RDP
When TP is accessed through RDP (from remote locations), use the following tips for optimized performance.
On the client machine
-
Check Show Options of the Remote Desktop Connection window (mstsc), and one can tweak the settings:
-
Display Settings: To reduce bandwidth usage, display settings such as colour depth (to lower bit size) and display size can be reduced.
-
-
Ensure to log off the RDP sessions – Do not keep the RDP session idle on client machine or disconnect the session (closing windows), as it consumes server resources unless the session is logged off properly.
-
Use Ctrl+Alt+End and select either signout/logoff option or start button > user icon > Sign Out.
-
On the server machine
Automatically log off or disconnect idle RDP sessions to save server resources.
-
How to check the number of users: In cmd, type the command in PowerShell – “query user” and look for sessions with rdp-tcp. It shows active/disconnected and active with idle time value.
-
Resolution: To log off specific user sessions manually, and check the session ID for a user from the above command > type the logoff <session ID> to log off the sessions.
-
For automatic logoff setup – Use group policy editor in windows (gpedit.msc) from RUN prompt.
-
Open Group Policy Editor > Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Session Time Limits
-
Enable:
-
Set time limit for active but idle RDP sessions.
-
Reduce the time limit for disconnected sessions.
-
-
-
In case of Windows Server, you can use group policy object (GPO) management from tools and create a new rule, go to the path given above, and enable the options from the previous point.
Configurations in TP to improve performance
Here are some of the configurations that can be tweaked in TP to enhance performance during operations (such as data entry or report viewing) in the TPS environment.
Cache size
You can utilise the configuration of high or custom to optimise the performance during data entry or report viewing operations.
Configuring Cache size
-
Press F1 (Help) > Settings > Startup > Show More.
-
Under TallyPrime Server, enable Cache Size for accessing data from TallyPrime Server.
This configuration allocates additional RAM in the machine where TP is running. - Press Ctrl+A to save the changes.
Custom option
The system considers data size in bytes. In pre-7.0 releases, although Size in MB is displayed on screen, the value must be given in bytes.
Ex: For 2 GB, the value in bytes as (2* 1024*1024*1024), which is 2147483648.
Apply the increase in cache size in systems with sufficient RAM size because the cache will be using physical RAM in the local system where TP is running.
Ram size can be between 15MB and up to 8GB in the custom option.
High Option
The system will allocate 50% of the RAM, or max of 8GB whichever is lower.
-
If 8GB of physical RAM, the system considers 4GB (the minimum of 4GB and 8GB).
-
If 32GB of RAM, the system considers 8GB (the minimum of 16GB and 8GB).
Enable the display list of stock items without quantity option
By enabling this option, users can improve the performance while creating or altering vouchers with stock items, as TallyPrime does not need to calculate the balances for showing the quantity in the List of Stock Items.
-
Press F1 (Help) > Settings > Display.
-
Under Table, enable the option Display List of Stock Items without quantity in Vouchers.
Recommendations for Bulk Activities | Migration, Repair & Split
These bulk activities are infrequent, but with increased network calls between TP & TPS, which may impact performance. For better speed, it is suggested that the Admin download TP on the server, perform the required bulk activity, and then use the data through TPS.