Slow Network Speed

Doug Easterbrook doug at artsman.com
Thu Oct 13 18:44:56 UTC 2022


you are not cursed with slow.   it snot necessarily as fast as local.  but it can be close


a lot of our clients access our cloud servers.  generally speaking
— we have 1,000mb/s up
— they have 50 to 100 mb/ down

most cannot tell they are on a remote network because we can deliver a few hundred records to the workstation in under a second (we use pgsql dam workers for lists)


the trick to performance is:
1) fast servers.  
2) fast internet
3) low latency in the network ( use any of the bandwidth tools like speedtest.net to see how fast things are)
4) minimizing the number of sql calls
5) minimize the manipulation of data on the client


example of 1 - fast server
- we use ssds that are M.2 NVMe on pci slots.  thats 6000 mb/s read write
- all internal components are 10 gigabit
- postgres is set up with lots of memory and cache


example of 2 - fast internet
- as I said, 1000mb up

3) low latency.    
- ping times of 16 ms kind of thing from 2000 miles away

if you hace a latency of 100 ms or more, thats a lot of wait


4) minimuize sql calls:

good
select * from table where seq <= 100

bad
for loop = 1 to 100
select * from table here seq = loop
add line to list
end for



5) minimize manipulation of data on client

bad — calculate in omnis

select * from table where seq <=100
add NEWcolumn to list
for list = 1 to linecount
 load from list
 calculate NEWcolumn as con (col1, col2, pick (col3 =1, ‘a’,’b’))
replace line in list
end for


good —  figure out a way to calculate the value of NEWcolumn in the sql.


select*,
col1 || col2 || case when col3 = 1 then ‘a’ else ‘b’ end as NEWcolumn
from table where seq <=100


that entire last sql statement does the work on the server and lets the worker get it for you, already calculated.




those are our general strategies.         but you really really need to think about doing things in sets of data, and not one record at at time and your app will be fast.









Doug Easterbrook
Arts Management Systems Ltd.
mailto:doug at artsman.com
http://www.artsman.com
Phone (403) 650-1978

> On Oct 13, 2022, at 8:40 AM, Das Goravani <goravanis at gmail.com> wrote:
> 
> 
> Dear List,
> 
> Do you have experience with a fat client app and a very wide network?
> 
> Like I am in North Carolina, just below NY in the US on the East Coast, and the data is in London England. 
> 
> That’s a long distance, true.
> 
> But should things take a minute?  !!!!
> 
> Just opening a window and fetching a few small records is taking a minute !
> 
> Is this normal?
> 
> Is the Javascript Client faster in this regard?
> 
> I am new to actually working on such a network. I don't have real world experience til now of such a type of very remote data. 
> 
> It is Postgres. We are in Studio 10.1. Sometimes using Table Methods to do SQL and sometimes using raw SQL. 
> 
> Records are small. Speed is just so slow. 
> 
> I recently experienced using the ODB. At home with it on my server which is at home, things were speedy. Me and data both at my apartment. But when I went just two miles away and connected through wifi, the speed dropped to a miserable pace. Is this normal?
> 
> With Omnis and remote data are you simply cursed to having to tolerate really slow speeds on a wide area network?
> 
> Why are websites I use so fast. Like when I order on Amazon.. it is fetching complex lists of products with pictures and it does so instantly. There is no waiting. Why is that so fast and our work so slow?  Why is Google so fast and our network so slow?
> 
> Any input appreciated. 
> 
> Das Goravani
> Richard Wurst
> 
> 
> _____________________________________________________________
> Manage your list subscriptions at https://lists.omnis-dev.com
> Start a new message -> mailto:omnisdev-en at lists.omnis-dev.com 



More information about the omnisdev-en mailing list