Slow connectiivty with a VPN client enabled is usually caused by the wrong MTU size being set. To find the optimal MTU size it is a simple process of testing various values for the buffer size.
Open a command prompt with administrator privileges. Type:
ping <remote machine ip> -f -l 1472
replace the remote IP address with an IP address on your remote network.
You should see a response "Packet needs to be fragmented but DF set". This means that the buffer size (1472) is too high. Continue to drop the buffer size (by incremements of 10 to start with) until your see a normal ping response. Adjust the buffer size until you find the optimum value.
Once you have the optimum value, we need to set it on the interface.
At the command pompt type:
C:\>route print
Look at the Interface List at the top and you should see the virtual interface for you VPN client. For example SonicWall Virtual NIC. Make a note of the first number which is the interface number.
At the command prompt type:
C:\>netsh interface ipv4 show interfaces
You should see a list of interfaces and the idx of your VPN interface. It will probably have the name of "Local Area Connetion 2" but a metric of 1.
To change the MTU size type:
C:\>netsh interface ipv4 set subinterface "<idx>" mtu=<MTU size> store=persistent
Change the <idx> to be the interface number and change <MTU size> to reflect the buffer size from the ping.
Now check to see if the MTU size has change, type:
C:\>netsh interface ipv4 show interfaces
It should show the new MTU size.
If you don't want the change to be permanent do not include the 'store=persistent' statement.