|
-
Mar 5th, 2013, 10:59 PM
#1
Performance issue
VB .Net 2010
MS Access 2010 database
Win 7
Have a fairly simple data entry/retrieval application. Just forms with standard controls on them, textboxes, labels, dgv. But this company wants it on their network. I don't maintain their network and have had a hard time getting quality response from the people that do maintain it. The company has two offices in different towns. The actual physical network machine is in one office and the other office is connected through the internet. I'm working at the office that is connected through the internet and the application performance is very slow. Just loading a new form can take 10+ seconds.
Most of the data access done using a typed dataset that I created using Add Datasource. I mainly just dragged/dropped the data onto the forms and use TableAdapters for Add/Edit/Delete data. Right now the exe is on the network I'm planning on moving it to the individual desktops once the app stabilizes, right now there are still a lot of changes being made, the database will remain on the network.
My question is,
Does anyone have any advise/tips on working with this type of network that would help the speed. Is there another data access method that I should use that would help the speed.
Any information will be appreciated.
-
Mar 6th, 2013, 12:18 AM
#2
Re: Performance issue
Whatever data access technology you choose, it's still going to be ADO.NET under the hood. The first thing you need to do is some profiling to work out exactly where the bottleneck is. There's no point trying to fix a problem if you don't know exactly what the problem is. I'd also suggest not using Access if you can avoid it. It's best used only as a local database for single-user systems. You can migrate to SQL Server Express with no cost and very little effort.
-
Mar 6th, 2013, 12:37 AM
#3
Re: Performance issue
i need some ideas here please
first is
Just loading a new form can take 10+ seconds.
next is
Right now the exe is on the network
how come the .exe is on network !, from where the client is launching the application here
just out of curiosity i am asking, honestly i don't have exact idea of the solution in this case
-
Mar 6th, 2013, 02:45 AM
#4
Re: Performance issue
jmc,
Thanks for the reply. They want an Access database, they want to create some of their own reports, export to excel and things like that. Thought maybe dataadapter my have less overhead than tableadapter.
The first thing you need to do is some profiling to work out exactly where the bottleneck is
Not sure how to go about this, have no access to the network except as a user. Is there built in network diagnostic tool in Win7 that I can use from the workstation.
make me rain,
how come the .exe is on network
It's there now for the client to check out how it works, start setting up the db, and provide feedback on what they like and what they want changed/added. The exe could be modified weekly for a while. I don't want to have to go to all the workstations and reinstall every week, also their other office to far away for me to go and reinstalling when I update.
I just never dealt with running an app over an internet network, was hoping someone had experience with this situation.
Last edited by wes4dbt; Mar 6th, 2013 at 02:54 AM.
-
Mar 6th, 2013, 01:09 PM
#5
Re: Performance issue
No one has had any experience developing for this type of network?
-
Mar 6th, 2013, 04:49 PM
#6
Re: Performance issue
They want an Access database, they want to create some of their own reports, export to excel and things like that.
I have to echo jmc. Access just isn't the right solution here. None of the things you describe is in any way affected by using a server based Database. The whole point of your program is to provide the intermediary between the database and data use. There are no advantages to be gained from the assumed 'compatibility' between Access and Excel, for example.
As the 6-dimensional mathematics professor said to the brain surgeon, "It ain't Rocket Science!"
Reviews: "dunfiddlin likes his DataTables" - jmcilhinney
Please be aware that whilst I will read private messages (one day!) I am unlikely to reply to anything that does not contain offers of cash, fame or marriage!
-
Mar 6th, 2013, 07:42 PM
#7
Re: Performance issue
 Originally Posted by wes4dbt
jmc,
It's there now for the client to check out how it works, start setting up the db, and provide feedback on what they like and what they want changed/added. The exe could be modified weekly for a while. I don't want to have to go to all the workstations and reinstall every week, also their other office to far away for me to go and reinstalling when I update.
I just never dealt with running an app over an internet network, was hoping someone had experience with this situation.
Use ClickOnce... publish the app to a location... when the app starts, it'll check that location to see if there is an update, if so it will install... if not the app then fires up... now you don't need to worry about going around station to station to do the updates... it will just happen.
-tg
-
Mar 7th, 2013, 01:18 AM
#8
Re: Performance issue
If they really want to use access I would still suggest using SQL server. They could create an access db and link to the SQL server tables then create their reports in access on the data contained in the SQL server if that is what they want to do. I have in the past used an Access database where the customer wanted to do this kind of stuff and it did not turn out well, users making changes to the DB structure can lead to many very bad things.
-
Mar 7th, 2013, 01:34 AM
#9
Re: Performance issue
 Originally Posted by wes4dbt
They want an Access database, they want to create some of their own reports, export to excel and things like that.
Maybe you've already been through this but it's your responsibility as the developer to explain why what they want is a bad idea and what can be used instead to make the application more robust and still deliver their requirements.
-
Mar 7th, 2013, 06:22 AM
#10
Re: Performance issue
@jmc - do you really believe ACCESS is at the root of the 10 second load of a form?
@wes4dbt - you already said ACCESS was a client requirement - do they realize that they can still use ACCESS with an ODBC connection to a MS SQL database to create reports?
At any rate - have you actually found a line of code that when you step into it it's taking 10 seconds?
btw - I've got some users - school districts for example, that have 100's of users running .EXE's from NETWORK shares - not actually copied to workstations. Might not be standard model - but a reasonable take for an IT dept to use to manage large sites.
-
Mar 7th, 2013, 06:43 AM
#11
Re: Performance issue
 Originally Posted by szlamany
@jmc - do you really believe ACCESS is at the root of the 10 second load of a form?
Absolutely not, which is why I mentioned changing the database as an additional item after suggesting profiling to determine where the performance issue is.
-
Mar 7th, 2013, 12:41 PM
#12
Re: Performance issue
Thanks for all the replies,
szlamany,
At any rate - have you actually found a line of code that when you step into it it's taking 10 seconds?
btw - I've got some users - school districts for example, that have 100's of users running .EXE's from NETWORK shares - not actually copied to workstations. Might not be standard model - but a reasonable take for an IT dept to use to manage large sites.
No I haven't found the line, it runs fast at my office. I don't have the ability to run the program in the IDE at the clients office. But the form load code usually consists mainly of filling my tableadapters.
One problem I noticed is if you highlight a row in a datagridview (the form has three dgv on it), then press delete, it takes a while before the row disappears. I was hoping to find a way to overcome this lag.
techgnome,
Use ClickOnce... publish the app to a location... when the app starts, it'll check that location to see if there is an update, if so it will install... if not the app then fires up... now you don't need to worry about going around station to station to do the updates... it will just happen.
I believe this network is something like of a VPN, when you say "Publish the app to a location", do you mean, I can install the update on their network folder, like where the database is located, and the next time a operator starts the app from their workstation, it will look for an update and install it if there is one? That would be nice, I'll have to research ClickOnce.
-
Mar 7th, 2013, 12:44 PM
#13
Re: Performance issue
If the database is going to end up with a different database on each computer, I'm not so opposed to Access. However, if the database remains on a network, then Access is a dangerously bad choice. Any network glitch while Access is open can corrupt the DB in strange and wonderous ways. I currently have an Access DB that is opened and locked by a user who retired a few years back. To date, I have found no way to close, delete, open, examine, alter, fold, staple, spindle, or mutilate that database. The only option appears to be along the lines of Format C:, but that's not a viable option.
If you wrote the program you must have access to the source code. Does it run fast when run local, and only slows when run over the network?
My usual boring signature: Nothing
 
-
Mar 7th, 2013, 01:00 PM
#14
Re: Performance issue
using the same network +
by publishing the project at your local hard drive or a pen / flash drive attached to your system +
setting the update path to that ^ folder ( UNC path )
i use this , between 3 PC's in my office,
Check out
-
Mar 7th, 2013, 01:58 PM
#15
Re: Performance issue
 Originally Posted by wes4dbt
Thanks for all the replies,
szlamany,
No I haven't found the line, it runs fast at my office. I don't have the ability to run the program in the IDE at the clients office. But the form load code usually consists mainly of filling my tableadapters.
One problem I noticed is if you highlight a row in a datagridview (the form has three dgv on it), then press delete, it takes a while before the row disappears. I was hoping to find a way to overcome this lag.
techgnome,
I believe this network is something like of a VPN, when you say "Publish the app to a location", do you mean, I can install the update on their network folder, like where the database is located, and the next time a operator starts the app from their workstation, it will look for an update and install it if there is one? That would be nice, I'll have to research ClickOnce.
 Originally Posted by Shaggy Hiker
If you wrote the program you must have access to the source code. Does it run fast when run local, and only slows when run over the network?
I think the bold pieces in the first quote layout what the issue is... the user is on a VPN, over the interwebs... therein may lay the problem... it's just the nature of the beast, in which case, there may not be much that can be done about it...if the VPN connection is slow to begin with ...
-tg
-
Mar 7th, 2013, 02:00 PM
#16
Re: Performance issue
Shaggy,
Thanks for the reply,
No I haven't found the line, it runs fast at my office. I don't have the ability to run the program in the IDE at the clients office. But the form load code usually consists mainly of filling my tableadapters.
No speed issues at all at my office.
One problem I noticed is if you highlight a row in a datagridview (the form has three dgv on it), then press delete, it takes a while before the row disappears. I was hoping to find a way to overcome this lag.
No lag at all at the office. Don't know if it's a data access/retrieval bottleneck or refreshing the screen after the delete. first time I did this, I keep pressing delete because I didn't think it was working, finally just pressed delete and waited, it finally disappeared.
Make me rain,
Thanks for the reply, I will check out the link.
-
Mar 7th, 2013, 02:05 PM
#17
Re: Performance issue
techgnome,
I will try to get more info on the network from the company, but they haven't been real helpful and very spotty in responding.
If there isn't anything I can do, then I'll deal with it. But I thought it would be best to ask the members of the forum before continuing to much further.
thanks for every ones input.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|