Roaming Profile / Internet Explorer Slow down

K

Kris Hyde

Hi,

We have a Workgroup of 15 Win 2000 machines with one which acts as
'Server'. User accounts on each 'client' are set to roaming, and
profiles are set to store on the server, this way we have a roaming
profile setup, without having a domain. Everything has been working
fine until recently when one user on one machine reported very slow
internet access. Them logging in and out on that PC (or rebooting)
made no difference. Other accounts on that machine worked fine. The
only way I found to solve the problem was for them to log out and log
in to a second PC. Here IE worked well. When they logged back into the
first PC, that now worked well too, until a few days later when the
internet connection randomly slowed down again. When going slow IE
uses up 100% of resources, but I've checked for viruses / adware and
its clean.

I suspect that the NTuser.dat file for the users account on the first
machine is somehow becoming corrupted. This remains corrupted, until
such time as they log into the second computer, which I asume
overwrites the NTuser.dat file in the profile. This is then coppied to
the server when they log off, and works fine when they log back into
the first computer.

This problem now seems to be slowly spreading to more computers and
more users.

Does anyone have any idea what could be causing this slowdown? Or
think of a better way of getting it working again?

Kris Hyde
 
T

Tim Springston [MS]

Hi Kris-

At a guess, it sounds like the workstation that you are seeing the problem
on may have something which is preventing the profile from being closed
properly at user logoff.

This could be an application or service, but the general idea is that this
culprit is keeping ahold of resources (files or registry keys in the users
profile) which it should be letting go of so that the system can close it
out, update it and send it to the copie kept on the roaming profile hosting
server.

There are some techniques to find out what it causing it. I would suggest
starting off by using MSCONFIG.EXE (if there isn't a copy on the workstation
just bring over the executable to that computer) and unchecking things and
rebooting and testing until you find a likely culprit.

Please repost if you have any questions or concerns.
 
L

Lanwench [MVP - Exchange]

Hi - how did you set up a roaming profile in a workgroup?
Note that you're limited to 10 concurrent connections to a W2k Pro computer.
Connections may not be released immediately. This may or may not be
related - however, if I were you and had 15 computers, I'd get a server OS
and set up a domain (anyway) . Workgroups do not scale well - I don't like
to support anything more than a handful of computers in a workgroup.
 
K

Kris Hyde

Yeah, it was a bit tricky! I completely agree that a domain and server
is the way forward, but sadly, the organisation I work for (a Uni)
isn't very flexable with these things!

I had the problem with the 10 connections limit, so was forced to
install Win 2k Sever Edition on the machine (hence refered to as the
'Server') which was used to store the profiles, peoples work etc.
However, I obviously can't have an active directory, or any of the
benifits that go with it.

My network all simply works on the priciple that if an given profile
exists on a Win2k PC, then it will allow access accross the network
from any PC, as long as that PC is logged in with the same given
profile username and password (even though it has a different SID).
Security settings are respected between the two computers so I can
limit users to certain folders as if their account was held locally.
Thus, I create everyones account on the Server, an then on each PC
that the individuals want to use (all done automatically from the
server using xcacls.exe and addusers.exe + some simple VB code). I
then set each profile on the client computers to roaming and set it to
store the profile in a shared folder on the server (eg
\\server\profiles$\username), and tell it to delete the local cached
copy on logoff. Drives can be mapped and Windows settings tweaked
using Group Policies (when I install a machine I just copy over the
hidden 'Group Policy' folder from a template). Users work is stored
locally (to reduce network traffic), but backed up daily to the Server
using robocopy.exe as a Schedualed Task. I've written some simple VB
code for the roll out of patches, logging of users etc.

It doesn't sound great, but it has been working a treat for a couple
of years and cost just over £200 to set up! But this recent internet
slowdown has me stumped. I'm fairly certain its some form of
corruption of the individuals NTuser.dat file, but I haven't worked
out physically what is happening to IE, or what triggers it off. Given
the fact it is using 100% or resources, I'm guessing its trying to
look for something. Is there any (free) software to compare versions
of the registry, so I can compare when it slow to when its fixed?

Cheers

Kris
 
K

Kris Hyde

Tim,

After doing some more investigating I think I've sussed the problem.
The IE slowdown is due to a corrupted index.dat file, not a corrupted
registry hive. The file appears as 0k in size, and IE tries repeatedly
to access it for each page loaded, slowing everything up (filemon.exe
clocked over 10,000 access attepts on the file per page loaded). You
were right in the problem keeping the resources open on logout - I'd
not noticed that on corrupted machines, when users log out everything
is removed of their profile from the local machine except the
directory holding the index.dat file. As IE is always running, it
continues to hold open the file. Only rebooting allows it to be
deleted.

So how do I fix it? I've tried the available progs to remove the file,
on bootup. These remove it, but rather than Windows replace it with a
fresh 32k file, it replaces it with another corrupted 0k file. I've
even tried a prog which is supposed to fix damaged cache - it just
reports that the cache is corrupted. I guess I could write a small app
which will add a key to the Run Once section in the registry to load a
batch file on bootup which will overwrite the corrupted file with a
fresh 32k version stored elsewhere. However, the computers seem to
spuriously fix themselves on some logins and then cease working when
they feel like it, so re-booting several times a day would seem
drastic. Ideally I need to know what is causing the corruption.

Could the manual deletion of cache, while IE is running be cause the
index.dat file to fall over?

Any advice would be appreciated.

Kris Hyde
 
K

Kris Hyde

Finnaly got it sussed and thought I'd better post the answer. The
slowdown was caused by a corruption to the index.dat file. I was
recommended to use CacheSentry, which wile not fixing a corrupted
index.dat file, can stop it becoming corrupted in the first place.
But, it only works its magic if the 'enable cache index bugfix' option
is enabled, which sadly it isn't by defualt, and seems to be randomly
enabled, depending on who is logged in. To get arround this, I've
written a bit of code which I run as a login script, which sets the
following key:

HKEY_CURRENT_USER\software\engimaticsoftware\cachesentry\options = 11,

then starts the cachesentry prog. That seems to do the trick without
any user intervention required. I've now got 15 PCs with download
times an order of magnitude faster!

Kris Hyde
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top