VOGONS


Maximum Network Speed on Win 95/98/SE

Topic actions

  • This topic is locked. You cannot reply or edit posts.

First post, by PKFreeZZy

User metadata
Rank Newbie
Rank
Newbie

Hello everyone,

I'm currently trying to figure out why my retro PC's network speed is being limited. It has a beefy enough network card installed, one with the Intel PRO 100 chipset, which can transfer data as fast as 100Mb/s.

My ISP is providing us PPPoE gigabit ethernet with 300Mbps and 150Mbps peak download and upload speeds, respectively. I know PPPoE wasn't a thing back in the days of Win 9x, so I'm using a router to convert it into a LAN signal which definitely does work fine with it at the cost of being limited to Megabit only.

However, when I try to download a file on it, mostly for testing purposes, it never transfers faster than only a few tens, or in the best case, a few hundred Kilobytes per second. I'm assuming this has to do with Internet Explorer 5.5 being extremely outdated. however even on a newer browser, it won't accelerate past 1 megabyte per second. I'm not intending to heavily utilize the internet on this machine; just decided to ask because I saw an old post on here regarding network speed and didn't quite find an answer in the replies.

My Windows 98 PC: Slot 1 Pentium III 600 (Katmai) | 256MB PC133 SDRAM | 64MB Leadtek WinFast GeForce2 Pro | Creative SB16 CT2230 | Intel PRO/100+ with Alert on LAN* | 18.64GB Seagate ST320011A | Corsair CX430 | ASUS P2B Rev. 1.04

Reply 1 of 10, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

Check LAN speed before you test internet speed.

If you're using 9x and not NT then you'll likely need to tweak MTU settings, etc.

Also if it's an older computer you'll be limited by processor, HD speed, etc.

How To Ask Questions The Smart Way
Make your games work offline

Reply 2 of 10, by dionb

User metadata
Rank l33t++
Rank
l33t++

Yep.

Consider that any network connection is only as fast as the slowest chain, and that you want to keep that chain as short as possible if you want to test the capacities of a single device.

For raw throughput I would recommend iperf3, as it's simple, lightweight and powerful.

You can run an iperf3 server on a known-good device on your LAN (i.e. modern PC) and then run the client on your Win9x.

Server:
iperf3 -s

Client:
iperf3 -c [server IP]

That will give you the maximum single thread TCP throughput from server to client. With a 100Mbps full duplex link you should be able to acheive about 94Mbps; if it's half duplex somewhere around 75Mbps is to be expected. If you score well below that, the first things to check are your MTU (should be 1500 on a LAN) and TCP Receive window (iirc 9x doesn't support window scaling, but it should be 64k in any event).

Once you max your single thread performance, try multiple threads:

iperf3 -c [server IP] -P 5

Particularly if the receive window is the limiting factor this should increase your throughput significantly, most likely to the full 94Mbps.

So, if iperf3 gives you good scores, you know that the network interface of your machine is capable of good throughput. If you get worse scores in browser-based speedtests, that's your CPU bottlenecking. And if you get worse scores still to the internet, it's the added latency of the internet connection.

Reply 3 of 10, by PKFreeZZy

User metadata
Rank Newbie
Rank
Newbie

Alright, I guess I'll try that method. My processor is an EB Pentium III running at 600MHz and my HDD is a 20GB Seagate Barracuda ATA IV which reportedly has 100MB/s of transfer speed. Other than maybe the processor I don't believe there's a bottleneck in the system.

My Windows 98 PC: Slot 1 Pentium III 600 (Katmai) | 256MB PC133 SDRAM | 64MB Leadtek WinFast GeForce2 Pro | Creative SB16 CT2230 | Intel PRO/100+ with Alert on LAN* | 18.64GB Seagate ST320011A | Corsair CX430 | ASUS P2B Rev. 1.04

Reply 4 of 10, by konc

User metadata
Rank l33t
Rank
l33t

I would set up a dummy/lan-only ftp server on a modern system or a network share and check download/copy speed from it.
This should give you a good indication about your network capabilities without questioning things like the internet and the browser.
A typical 100Mbps network card can achieve something like 10MB/s, 10x faster compared to what you're currently getting. Your HDD may or may not be capable of keeping up with this number, its actual transfer rate is (very) far from the 100MB/s you mentioned and even further when it comes to writing small chunks. In any case you should be seeing times the 1MB you currently see and definitely closer to 10MB/s than to 1.

Reply 5 of 10, by tpowell.ca

User metadata
Rank Member
Rank
Member

Also, depending on the card you use, the CPU speed could play heavily on your maximum bandwidth.
On my K6-III+ overclocked to 550, the best I could get using an Intel Pro/100 PCI was ~8MB/s on a Gigabit network.
The disk I use on this can handle >40MB/s write speeds, but in my test the CPU was pegged at 100%. When I slowed the CPU down, the network transfer rates dropped accordingly.

  • Merlin: MS-4144, AMD5x86-160 32MB, 16GB CF, ZIP100, Orpheus, GUS, S3 VirgeGX 2MB
    Tesla: GA-6BXC, VIA C3 Ezra-T, 256MB, 120GB SATA, YMF744, GUSpnp, Quadro2
    Newton: K6XV3+/66, AMD K6-III+500, 256MB, 32GB SSD, AWE32, Voodoo3

Reply 7 of 10, by r.cade

User metadata
Rank Member
Rank
Member

You have many other bottlenecks in a system that old, but as others have mentioned 10/100 NIC linking at 100M Full Duplex can do at most 12-13M/s fully saturated with something of the least protocol overhead (something like a large FTP transfer over UDP).

However, this is only on a more modern computer- most older CPU/Driver/OS/protocol can't handle much more than half of that.

You could have a mismatched duplex issue, or just a really slow card, bad cable, or maybe you are downloading something using encryption (https?)

Reply 8 of 10, by dionb

User metadata
Rank l33t++
Rank
l33t++

More complicated protocols and applications eat CPU. Also, things like FTP work off hard disks which not only bottleneck speed themselves, but also can eat CPU (particularly if there's no DMA). Moral of the story: KISS - start with something that doesn't use anything other than the NIC and stays well away from HDDs. That's why I recommended iperf3.

Once you've determined what the NIC can do, then start adding extra stuff (like FTP or other higher-level protocols).

As for CPU offload - yes, it helps, but don't even think of using a Killer NIC on older systems, unless you intend to run Linux. They are excellent Qualcomm-Atheros chips with abominable Windows drivers (and no DOS or 9x).

For a P3-era PCI system, 3Com and Intel NICs generally offer best performance and lowest CPU usage. RTL8139 gives decent performance, but at the cost of high CPU usage. However that's only an issue if the CPU is busy with other stuff, unless you have a truly ancient PCI system (P1 or 486) you can easily saturate 100Mbps on an RTL8139.

Gigabit would be more challenging, but same general principles apply. Intel (or rare late 3Com) NICs do lots of offload, Realtek ones don't. However given Win9x doesn't do TCP receive window scaling you won't even come close to max speed regardless of CPU usage. For Gigabit you really need the mature TCP stack of Win2K or higher, or BSD/Linux.

Reply 9 of 10, by swaaye

User metadata
Rank l33t++
Rank
l33t++

The same hardware will have better network performance on NT5, and if it can handle it, better yet on Vista onward.

TCP Optimizer is useful to quickly get Win9x through XP tuned up a bit. It helps with internet and LAN.
https://www.speedguide.net/downloads.php

CPU plays a big part as others say. 9x is especially inefficient. WinME might be a significant improvement over 95/98. It has some network improvements.

I've played with Intel Pro 100 and Pro 1000 GT on 98SE with very fast hardware. Like Athlon 64. The Pro 1000 GT gets you a touch more LAN SMB transfer speed but we're talking like 100mbps at best.

Reply 10 of 10, by asdf53

User metadata
Rank Member
Rank
Member
dionb wrote on 2018-06-21, 15:34:
For raw throughput I would recommend iperf3, as it's simple, lightweight and powerful. […]
Show full quote

For raw throughput I would recommend iperf3, as it's simple, lightweight and powerful.

You can run an iperf3 server on a known-good device on your LAN (i.e. modern PC) and then run the client on your Win9x.

Server:
iperf3 -s

Client:
iperf3 -c [server IP]

Note: iperf3 seems to be unsupported on Windows 95. Version 1.1.1 is available here. This version works on Windows 95 and also on Windows 10 for running the server. If you get an error message about missing "ws2_32.dll" on Windows 95, download the WinSock2 update from here.

Another benchmark method I like to use is to use a disk benchmarking software (I used SiSoft Sandra 98 for Windows 95) on a writable Samba network share, because that's what I almost exclusively use in retro networking.