running from a wired network vs. wireless network

eljainc

Member
Joined
Apr 5, 2013
Messages
6
Programming Experience
5-10
I have a general question about a program that is running on a wired network: I have a WinForms app which is written in C# using .NET 2.0 CLR. It runs acceptably when run on the local machine, slightly slower when run on a wired network and noticeably slower when run on a wireless network. The wireless network speed is about 4-5 times slower than the wired network.

Now, the program does access a database, which is SQLite. It does simple reads of data, nothing complex.

Are there any things that could be done to improve the speed on a wireless network?

Thanks

Mike
 

jmcilhinney

C# Forum Moderator
Staff member
Joined
Apr 23, 2011
Messages
3,792
Location
Sydney, Australia
Programming Experience
10+
You're going to have to provide far more specific information about what the application actually does and how it actually does it, including relevant code and execution times for sections of interest.
 

wim sturkenboom

Well-known member
Joined
Aug 6, 2014
Messages
85
Location
Roodepoort, South Africa
Programming Experience
10+
Can you explain where the networking comes in? Is the database located on a different computer that you access via a network? If that is the case, how much data do you retrieve at a time?

A common mistake is to retrieve all records and filter subsets (e.g. 100 records) for display. It's way better to retrieve 100 records at a time and when the user clicks 'next', retrieve the next 100 records etc.

As indicated, additional information might help us to help you.
 

eljainc

Member
Joined
Apr 5, 2013
Messages
6
Programming Experience
5-10
The database is located on a central computer (server). It is simply a shared database, not a true client-server database. To be specific, I am working with SQLite. I am retrieving anywhere from 20-80 records at a time, but perhaps reading the database twice (two different queries per record).
 

wim sturkenboom

Well-known member
Joined
Aug 6, 2014
Messages
85
Location
Roodepoort, South Africa
Programming Experience
10+
Size of retrieved records? Magnitude 100 bytes per record or 100,000 bytes per record? If the latter, you might need a redesign (e.g. don't store a picture in the database, but only a 'link' and retrieve it separately (which will still be slow)) or learn to live with it.

Another thing to consider is how busy that wireless network is (how many users using it at the same time)?

If local performance is acceptable, there is not much that you can do from a coding perspective (except for what I pointed out above) and it boils down to analysis of network traffic.

I don't know for sure if there are analysis tools for wireless networks; they might be able to help you to analyse further. Other tools for network analysis include ping and traceroute (the program in Windows is called tracert).

You can also use Wireshark at the server side to see how long it takes from the time that a query for the 'database' arrives till the reply is send. This should be fast, but can be an indication of an overloaded server if it's not; I can't help you with that as you more than likely use a shared drive (but filtering on IP address and protocol will help).

And at the client side you can check with Wireshark as well.
 
Top Bottom