What are the specs on the 2 servers. That could be a factor. Perhaps the Windows machine has a slower processor or not enought memory.
Other factors could be if it is a shared or virtual hosting server, each site or user is only allocated a certain amount of cpu usage.
And you should do a traceroute to both sites from your location, then from some location on the web and compare.
I once had a host in South Carolina that every once in a while had trouble because of a router in North Carolina that was flaky and not owned by them. My traceroutes always stopped there with 3 different DSL providers. They seemed to all be going through some NOC down in Raleigh.