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.
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?
Could be a lot of things. Iâve had the same problem happen to me. Hereâs the troubleshooting that I did.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
[/quote]
**
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.