Serious Lag When Using Software - Especially Terminal Computer

Hi Everyone,

I am experiencing a serious lag when using the POS particularly when doing transactions. Settling tickets cause a delay of maybe up to 10 seconds and it is worse on my terminal computer that has to connect to the main computer.

Could this be a database issue?

The main computer specs are: 2GB RAM, Windows 7, 2.67ghz processor. It is an older computer but I never had lagging issues in the past.

Please help

Those specs are the database machine or the client terminal?
2GB ram is maybe a little light.
Are you running the latest version?

What do you mean? You mean with using other software on the PC or using an earlier version of SambaPOS?

Like JTR said, 2GB on a server computer is a bit light with Windows taking around 1.5GB just to run everything including the SQL Server.

Is the terminal connected by WiFi or Ethernet? Do you have a Gigabit router or switch? Is that network same for all your guests that use WiFi or is it separate?

Any chance there is a antivirus doing something in the background?

1 Like

Could be a lot of things. I’ve had the same problem happen to me. Here’s the troubleshooting that I did.

  1. Your database size or your HDD/SSD may be approaching it’s capacity.
  • If your DB size is getting full (which is naturally hard to do), you probably added new Rules and Actions that clutter up your DB or take up too much CPU/RAM (I followed this tutorial [.com/t/creating-ticket-logs-to-improve-security/7432] and every action I did on the POS, it would log it into the DB and if you do have this tutorial, set it to work in background.)

  • SSDs are good, but they can fail very easily. Constant read/writes can wear them down faster than it would an HDD. Spend a little more money on a commercial server-grade SSD that won’t wear down as quickly.

  1. Internet connection
  • If your terminals are on wifi, it’s time to move to ethernet cables. (Things that can cause wifi interference: microwave ovens, wireless keyboards, wireless mice, wireless barcode scanners, etc.)

  • DON’T use flat ethernet cables. They have a higher gauge than the round cables, which are less prone to interference. Flat cables are usually 30 AWG, while the round ones are 24 AWG.

  • If you’re already using ethernet cables, then use a ethernet cable tester from Amazon and see if there is any damage to them.

  • It’s winter and you have the heat up in the room. Your internet router may be too close a heat source or something and it maybe throttling itself.

  1. Server Computer
  • Maybe there’s a lot of dust in the computer, which causes it to overheat, which causes it to throttle itself.

  • Maybe one of your RAM sticks is dead, and you’re on only 1 GB of RAM.

  • Maybe your Power Supply Unit in your server computer is dying and your motherboard isn’t able to pull the necessary amount of voltage from the PSU.

  • Unnecessary programs may be running on the server computer.


Same PC, Same software

Database Machine. I know it’s light but… It never used to lag.

I’m not sure if I’m running the latest version of SambaPOS 5. I would have to check

The terminal is connected by Wi-Fi. No gigabit router/switch. It’s all 10/100. The network is same as the wi-fi but only 5 users are on the wifi. I will have to check the antivirus and get back to you

Thanks. I will look into this and let you guys know the outcome!

1 Like

Wifi would be a factor for a client machine but network wouldn’t be a factor in lag if it’s lagging on the machine with the database.
Personally I would always wire a fixed terminal and use a gigabit switch since most are now days and it doesn’t need to be fancie managed one.
The limited may be a factor as your database has grown…
I wouldn’t run windows 7 on less that 4gb for any use personally.
You check version by taking samba out of full screen by double clicking the top left logo when logged in as admin. Version is in the titlebar.
You could try taking a backup, changing database to make a second DB, restore the backup then clear transactions etc with database tools script and see if it is the growth of your database which is a factor.

1 Like

We usually get the issue when there are updates pending to install. We have automatic downloading of updates on our systems. When the server system holding the database has updates ready to install we notice a serous lag. Just a restart and the system installs the updates and we are back in business.

We usually at the end of the day restart all our systems to avoid this situation during the day. Might be one of the possibilities.

1 Like

I would strongly recommend you to wire your terminal with ethernet cable and a Gigabit switch or router. Its also worth mentioning that cutting down on any unnecessary traffic on POS network can really make a difference in delays. I always keep guest network separated on a different router.

Upgrade to 4GB of RAM. There is a big difference when your database is 5MB and over 100MB. That difference can be seen on older outdated hardware.

Windows updates are a big factor but using multiple Windows user accounts. Being logged in on for example Admin and Guest account on windows can cause massive delays even on newer machines. Its really important to make backups before Windows updates. Sometimes they can fail after a power cut or some unusual error.

SSDs can make a big difference when installed on the server. It has huge difference in read/write speed compared to normal hard drives. Make sure you make hourly backups with triggers if you have an SSD. They need to be synced with a cloud because cheap commercial SSDs tend to have a short lifespan.

Never use WiFi unless you have Android or Windows tablets/phones. And if so, use high gain antennas for good coverage and reliable use. I use 12 dBi antennas for coverages on the beachfronts or big restaurant terraces and never had an issue with that kind of setup.

1 Like

Is there any way to archive items in my database?

If your running proper SQL Express you shouldn’t need to, unless your specifically querying all/long history or have poorly configured setup loading database with excessive queries.
Most general purpose daily use stuff is cashed on terminal anyway, menu etc.
There is no archive function, you could backup and clear database transaction giving ‘fresh start’ but would not allow easy quick recall of historic data.

What exactly do you mean by “fresh start”. Will all my data be gone?

No, there is a clear transactions script in database tools that clears transaction/sales & accounts data but leaves products and menus etc.
Its meant for cleaning after setup/testing before live production.
Be sure to backup though as it will remove all past sales data from database.
But as said unless you have report or sql type queries there is very little reason for samba to look back at past details. general POS use in itself shouldnt need to query outside of current work period data unless you have customisation/automation with overly open expressions causing checking of data beyond current period.

A database clense is like a bandaid, it patches the underlying issue, it doesnt resolve it.

Can I edit this script to clear some accounts/some transactions. Let’s say for a specific time period?

I have customers that have a credit line and i will need to go in an check their accounts from time to time. However, i wouldn’t need data from let’s say a year ago.

Let me know if this is possible

In theory might be possible however wouldn’t recommend it. There are links between tables which would cause all sorts of problems if not done correctly and your example of accounts I dont think would work also since unless the chosen date was a point where balances were 0 you would be clearing previous sales/payments so if balance wasnt 0 at the time it would then show a debt/credit balance.

**[quote=“JTRTech, post:18, topic:18859, full:true”]
In theory might be possible however wouldn’t recommend it. There are links between tables which would cause all sorts of problems if not done correctly and your example of accounts I dont think would work also since unless the chosen date was a point where balances were 0 you would be clearing previous sales/payments so if balance wasnt 0 at the time it would then show a debt/credit balance.


I just cleared transactions. I will use the backed up database as an archive. It runs much smoother now which means that my PC couldn’t manage the database size.

Thanks for your help

So either your spec is too low or you have setup with report type expressions querying deeper than needed into database,