This uses CloudFlare and the page is cached (CF-Cache-Status: HIT header). Kinda disappointing that we're not receiving data from your compunet but rather the CloudFlare edge machine.
I find it interesting how little computer power you need to host a highly accessed website by using CloudFlare. When 386's were the cutting edge it would have taken a car load of computers plus some fancy cutting edge load balancing software. All very expensive.
I wrote it back in 2014 and I've hosted brutman.com on it at times. My usual machine to run it on for torture testing is a PCjr with a hard drive and Ethernet. This 386 would be so much happier with an Ethernet card; the serial port connection is really hurting the performance.
A new version of mTCP is in the works; look for it in the next two months.
Oh wow, I know you from the README! It really is something seeing you here. It is not a very impressive site at the moment but the immense amount of traffic that I have been getting is encouraging me to grow it into something with some actual content. Probably something retro related in some way.
Ditch cloudflare and write the web server in assembly and see if it holds up to raw HN traffic. Bonus points if you have an L1 cache and can fit and serve your entire website from it.
I think the 38400 baud connection is a bigger issue than the CPU load. When I get Ethernet working I think there is a decent chance that I won’t need CloudFlare—especially if I can find a full 32-bit server that really uses the potential of the 386. Now to wait for that card to arrive in the mail. ;)
Edit: If you want to visit the page directly without CloudFlare, go to http://trombone.zapto.org instead.
It is indeed an SX! I am upgrading it to 16 MiB soon, as well as putting an Ethernet card in it. At that point I think it might end up a much more capable host. I am not sure if I want to find some way to keep this page up long-term yet. If there ends up being a reason to, then I will look around for some suitably retro way to host it, while still allowing me to use the 386 for other things.
My issue with these projects is how much energy they use for whatever task they can do.
I have a 10 year old machine that was a high end machine in its day, being lapped by a high end laptop on all tasks, except for gpu tasks I slammed into the PCIe slot. The power consumption is honestly sad. Its not like its an energy
cost thing, as it would take decades to break even in lower electricity bills after buying a high end machine specifically for lower energy use, its more of a self conscious thing.
OPs machine should just be a compute instance virtualized in some gigantic memory cluster somewhere that was already running.
This is what my first PC was my freshman year of college back in 1990. Felt damn good I got the 65MB hard drive instead of the typical 40MB that most machines had back then.
Yep, I figured it was the only way to get it to keep working. Interesting that it seems to work for you already. It isn’t yet going through CloudFlare for me when I try to visit it. Maybe DNS cache?
I actually added a link to the page to bypass CloudFlare entirely. I wanted the page to remain accessible so people could see what was on it regardless, but CloudFlare helps with that, but I also know that setting the page load slowly from the real machine is also an experience that many people are there for, so I tried to find a way to have my cake and eat it too.
Big ooof, of course it's down. I'm hosting a simple static site on a Core 2 Duo + 4GB RAM and it's amazing just how slow the hardware is. It can barely handle 100 concurrent visitors (as tested with JMeter), and if it starts swapping on the spinning rust inside... that's it, forget it, come back the next day. I don't even know how a 386 can even start with modern software.
Why so slow? As a “this will never work” stop-gap when my laptop died, I put the latest Manjaro Linux on a Core Dou iMac ( early 2008 ) to use for work that day ( 6 GB ). I was blown away how well it worked and I was able to do everything I normally do without problems ( well, except I had to use the Outlook web client for email / calendar — but that is just Linux and not hardware ). Months later, I still use it almost every day. It is my preferred spot to take Zoom / MS Teams meetings due to the large screen. I run Docker and Distrobox containers on it. I built a toy compiler in .NET on it. I play Diablo and StarCraft on it from time to time. I have it running Plex and it serves movies and TV episodes to my family ( often to more than one device at a time ). I toy around with SerenityOS on it in QEMU ( in a VM ) and it runs great.
I have not tried to host a static website but it surprises me that 100 visitors would give that hardware trouble. I will have to try that now.
A regular static site shouldn't be a problem on a C2D with 4GB, and it shouldn't be swapping either (unless you're doing more than web hosting on that machine). I'm assuming you're literally serving static pages and not running much server-side.
Many people host static sites on 1GB SBCs and 1GB/1T VMs with no issues, and you can make do with even less.
Update: I tried some tests on my secondary server, which is likely slower than your C2D (AMD G-T48E). I simply ran ApacheBench on the Proxmox Backup Server web interface login page since that's the only web service I have running on it. The two machines were connected over Gigabit LAN and HTTPS was used.
This is 1000 requests at a time for a total of 5000 requests. While it was running I was able to make a connection to the login page in my browser as well (it took six seconds to load, but it loaded). I think I did the test properly but let me know if I should try something else; it's been a while since I've done this kind of stuff.
~$ ab -n 5000 -c 1000 https://<PBS server>:8007/
This is ApacheBench, Version 2.3 <$Revision: 1843412 $>
...
Benchmarking <PBS server> (be patient)
...
Finished 5000 requests
...
Server Software:
...
SSL/TLS Protocol: TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,2048,256
Server Temp Key: X25519 253 bits
...
Document Path: /
Document Length: 1940 bytes
Concurrency Level: 1000
Time taken for tests: 34.274 seconds
Complete requests: 5000
Failed requests: 0
Total transferred: 10215000 bytes
HTML transferred: 9700000 bytes
Requests per second: 145.88 [#/sec] (mean)
Time per request: 6854.761 [ms] (mean)
Time per request: 6.855 [ms] (mean, across all concurrent requests)
Transfer rate: 291.06 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 21 2863 2225.0 2535 10907
Processing: 98 3275 1836.3 3142 10434
Waiting: 1 3275 1836.4 3142 10434
Total: 118 6138 3078.9 5655 12545
Percentage of the requests served within a certain time (ms)
50% 5655
66% 6733
75% 6965
80% 7569
90% 12324
95% 12469
98% 12504
99% 12517
100% 12545 (longest request)
When I first posted it a few hours ago, I didn’t have CloudFlare. You can see lots of people unable to load the page at all in the earliest comments. Unfortunately it got to a point where pages weren’t just slow to load, but the connections were dropped entirely. So I figured that between the options of enabling CloudFlare or just having it be completely inaccessible, the former was preferable even at the cost of authenticity. I would love to find a better idea for how to keep the site online, if you have any.
Why does the title have the 'i' in 4 MiB of RAM? That's 4 megabytes, right? Traditionally 4 MB?
What does the extra lowercase letter indicate? I'm not used to that, and I've been dealing with bytes from the kilo-size to the peta-size for 40 years.
That was my first thought when I got unlimited mobile data back in ~2006. I could be always on IRC, seed torrents infinitely... and that's when the teenage lucb1e realized that there is no port forwarding on mobile networks and why that is a problem.
To this day I wonder why nobody seems to care at all about that. It's like being on the real internet except you can't reach each other, you have to always go through some third party that is on the internet proper.
At least we got "net neutrality" now, which doesn't apply to SYN packets for some reason but at least it applies in the other direction, so no more 'blocked site' page on buienradar.mobi because KPN wanted to sell its expensive SMS weather service instead of this newly popular weather radar site.
For what it's worth, I did compile and run a bitcoin miner on my phone ten years ago. Running services on it isn't exactly a new idea, but now that they're so powerful, it also means we can't supply enough power from the battery or dissipate enough heat while in a pocket.
[+] [-] quenix|3 years ago|reply
[+] [-] serentty|3 years ago|reply
If you want to visit the page directly without CloudFlare, go to http://trombone.zapto.org instead.
[+] [-] Thorrez|3 years ago|reply
[+] [-] WheelsAtLarge|3 years ago|reply
[+] [-] bmacho|3 years ago|reply
[+] [-] AviationAtom|3 years ago|reply
[+] [-] serentty|3 years ago|reply
[+] [-] dawsmik|3 years ago|reply
[+] [-] serentty|3 years ago|reply
https://archive.ph/WUdgc
[+] [-] raverbashing|3 years ago|reply
[+] [-] mbbrutman|3 years ago|reply
I wrote it back in 2014 and I've hosted brutman.com on it at times. My usual machine to run it on for torture testing is a PCjr with a hard drive and Ethernet. This 386 would be so much happier with an Ethernet card; the serial port connection is really hurting the performance.
A new version of mTCP is in the works; look for it in the next two months.
[+] [-] serentty|3 years ago|reply
[+] [-] christophilus|3 years ago|reply
[+] [-] xyst|3 years ago|reply
I don't know why I laughed so hard at this. Why would any sane person do this?
[+] [-] orangepurple|3 years ago|reply
[+] [-] serentty|3 years ago|reply
Edit: If you want to visit the page directly without CloudFlare, go to http://trombone.zapto.org instead.
[+] [-] MrYellowP|3 years ago|reply
Man, you should get that upgrade to 8 megs of RAM.
Windows 3.1 benefitted greatly and even OS/2 Warp,
which already worked fine with 4 megs, saw some improvements in performance.
[+] [-] serentty|3 years ago|reply
[+] [-] vmception|3 years ago|reply
My issue with these projects is how much energy they use for whatever task they can do.
I have a 10 year old machine that was a high end machine in its day, being lapped by a high end laptop on all tasks, except for gpu tasks I slammed into the PCIe slot. The power consumption is honestly sad. Its not like its an energy cost thing, as it would take decades to break even in lower electricity bills after buying a high end machine specifically for lower energy use, its more of a self conscious thing.
OPs machine should just be a compute instance virtualized in some gigantic memory cluster somewhere that was already running.
[+] [-] aaaaaaaaaaab|3 years ago|reply
Then it would no longer be OP's.
[+] [-] sydthrowaway|3 years ago|reply
[+] [-] SystemOut|3 years ago|reply
[+] [-] serentty|3 years ago|reply
[+] [-] philjohn|3 years ago|reply
I had a 40MB hard drive on my Cyrix 386, and double-spaced it to "80"MB
It's crazy to think how little 40MB is now, I've edited PowerPoint decks larger than that.
[+] [-] fevangelou|3 years ago|reply
[+] [-] serentty|3 years ago|reply
[+] [-] borgchick|3 years ago|reply
If you look at the headers, you'll see "CF-Cache-Status: MISS".
And you'll see the site load, just as you remember from the BBS days.
You are welcome.
[+] [-] serentty|3 years ago|reply
[+] [-] unfocussed_mike|3 years ago|reply
[+] [-] jotm|3 years ago|reply
[+] [-] LeFantome|3 years ago|reply
I have not tried to host a static website but it surprises me that 100 visitors would give that hardware trouble. I will have to try that now.
[+] [-] jandrese|3 years ago|reply
[+] [-] digitallyfree|3 years ago|reply
Many people host static sites on 1GB SBCs and 1GB/1T VMs with no issues, and you can make do with even less.
Update: I tried some tests on my secondary server, which is likely slower than your C2D (AMD G-T48E). I simply ran ApacheBench on the Proxmox Backup Server web interface login page since that's the only web service I have running on it. The two machines were connected over Gigabit LAN and HTTPS was used.
This is 1000 requests at a time for a total of 5000 requests. While it was running I was able to make a connection to the login page in my browser as well (it took six seconds to load, but it loaded). I think I did the test properly but let me know if I should try something else; it's been a while since I've done this kind of stuff.
[+] [-] huhtenberg|3 years ago|reply
But the IP resolves to 188.114.96.3, which is Cloudflare.
So regrettably it doesn't look like I was actually fetching anything off 386 per se.
[+] [-] serentty|3 years ago|reply
[+] [-] wonderbore|3 years ago|reply
[+] [-] unknown|3 years ago|reply
[deleted]
[+] [-] cush|3 years ago|reply
[+] [-] Cd00d|3 years ago|reply
What does the extra lowercase letter indicate? I'm not used to that, and I've been dealing with bytes from the kilo-size to the peta-size for 40 years.
[+] [-] kadoban|3 years ago|reply
Specifically, MiB is 1024^2 bytes. MB is either that or 1000^2 bytes, depending on who you ask and if they're trying to sell you something.
[+] [-] johnnyapol|3 years ago|reply
MB is canonically base 10 (10^6 bytes).
[+] [-] tomrod|3 years ago|reply
[+] [-] lucb1e|3 years ago|reply
To this day I wonder why nobody seems to care at all about that. It's like being on the real internet except you can't reach each other, you have to always go through some third party that is on the internet proper.
At least we got "net neutrality" now, which doesn't apply to SYN packets for some reason but at least it applies in the other direction, so no more 'blocked site' page on buienradar.mobi because KPN wanted to sell its expensive SMS weather service instead of this newly popular weather radar site.
For what it's worth, I did compile and run a bitcoin miner on my phone ten years ago. Running services on it isn't exactly a new idea, but now that they're so powerful, it also means we can't supply enough power from the battery or dissipate enough heat while in a pocket.
[+] [-] butz|3 years ago|reply