none
Numeric IP in UNC path for linked tables RRS feed

  • Question

  • I have some users of an Access 2010 application who have complained of slowness in their application.  This is a split database with multiple Access back ends on a file server.  On a whim I replaced the name of the file server in the UNC path for all of the linked tables with the numeric IP address, e.g. instead of using \\fileserver\databases\database.mdb I used \\nnn.nnn.nnn.nnn\databases\database.mdb where nnn.nnn.nnn.nnn is the numeric IP address of the file server. This seemed to improve performance although I have not tested this empirically.  It makes sense, with my limited networking knowledge, that this might speed things up a bit since the step of resolving the server name has been removed but it would also appear that this name resolution should only need to be done once when a table is first accessed. Or maybe this name resolution is done every time a linked table is accessed? Does it make sense that using the numeric IP address should cause a significant performance improvement or am I just imagining things?  Has anyone tested this extensively?  Just curious.

    -Bruce

    Wednesday, December 4, 2019 4:57 PM

All replies

  • Or maybe this name resolution is done every time a linked table is accessed? Does it make sense that using the numeric IP address should cause a significant performance improvement or am I just imagining things?  Has anyone tested this extensively?  Just curious.

    Hi Bruce,

    I have no eperience with networking, but made some other observations.

    - I once installed an application in a map-structure about 10 levels deep. It took minutes to start up the applications. Replacing the application in a more top map did not give any noticable delay.

    - In all my applications I have a referenced library database. Many routines in the general library address tables in the FE or BE of the application through late binding. I have not the feeling (but not measured) that this delays the apllication.

    - I can place any application on any computer when the map-structure is the same, without relink. It just works. Also, when you have one FE and two BE's (my_data.mdb and my_data_x.mdb) you can rename my_data,mdb to my_data_y.mdb, and my_data_x.mdb to my_data.mdb and continue to work with the other BE.

    All this makes me *think* that every time a table is accessed, the full path is evaluated. The linking itself is a check whether the file and the table really exists. But I can be wrong.

    In general: the shorter (less complicated) the pathname, the faster.

    Imb.

    Wednesday, December 4, 2019 7:27 PM
  • I seen some systems show some rather substantial improvements by using IP address.

    The issue often crops up  on a domain, or if there is more then one domain. (often by accident we see some computers have their own work-group also). Not only is name resolution a issue, but we also seeing a lot of network appliances that include some type of virus protection. Between these systems, then some real delays can crop  up. And then we see laptops with two connections - if you use a name resolution, then often both networks start coming into play - less of a issue again with IP addressing. 

    So, using IP address often does by-pass some of this "stuff". The real issue is more and more restrictions are occurring in terms of network security, and as a result some file share with multiple users gets caught in this crossfire of ever increasing security. 

    As things get bolted down more and more, I often wonder how the network even works these days!

    I can't say your trick always works, but I have seen it help in many cases. The old long time trick of ensuring that you have a persistent connection from front ends to the back end also can yield some huge performance gains.

    Regards,

    Albert D. Kallal (Access MVP 2003-2017)

    Edmonton, Alberta Canada

    Friday, December 6, 2019 3:52 AM
  • >>it would also appear that this name resolution should only need to be done once when a table is first accessed. Or maybe this name resolution is done every time a linked table is accessed?

    Bruce - If the back end is an Access database you only need one persistent connection. If you've ever opened the back end's lock file you would see that no matter how many tables you are viewing or querying, you have only one lock unless you close out of the application while another user is in it. Then if you re-open a connection you will see yourself in the lock file twice. This is because the lock file retains a separate connection line as long as there is at least one user in the back end.

    In other words, if I connect to the back end I get a line in the lock file. Then Joe connects. Now there are the two of us in the lock file. If I disconnect the lock file still has my connection line along with Joe's. If I then connect again I will show up a second time in the lock file. Each user stays in the lock file until all users are out and the file is destroyed.


    Bill Mosca
    https://wrmosca.wordpress.com/
    https://groups.io/g/MSAccessProfessionals

    Friday, December 6, 2019 10:32 PM