As visitor numbers increased, the tiny Raspberry Pi 3 that had served as my webserver for years collapsed under the load. The site became sluggish, JSON files loaded slowly, and even simple page requests stalled. The solution was not just a bigger server, but a cleaner architecture. Today, the webserver runs on a full HP machine, while all Python processing has been moved to a dedicated Raspberry Pi 5 with an NMC card. The result is stability, speed, and real separation of responsibilities.
When the Raspberry Pi 3 was enough
As long as my website was a small personal project, the Raspberry Pi 3 that hosted it worked surprisingly well. It was never meant to serve thousands of requests, but somehow it did, quietly and reliably, for far longer than anyone would expect from a tiny board with a single gigabyte of RAM and an ageing SD card. Over time the site grew a steady audience. People loaded real time solar production graphs, read the weather-based energy forecasts, opened the Wallbox analytics, and used the dashboards all day long. At some point the traffic crossed a threshold, and what once felt effortless suddenly turned into a daily struggle for the little machine.
The signs were unmistakable. Page loads became slower, JSON files hung in mid-air before appearing, and even simple requests caused the Pi to gasp for breath. Python scripts that had run smoothly in the background delayed each other, competing for scarce I/O on a worn SD card that simply could not keep up. It was not a failure in a dramatic sense, more a quiet and persistent collapse. The Pi 3 did everything it could, but the world around it had changed. What had started as a compact experiment had grown into a service that real people used every day, and the infrastructure had to evolve with it.
The first realisation was that throwing more tasks at a Raspberry Pi 3 was no longer sustainable. The machine was doing everything at once, from serving web pages to running forecasting models, from collecting inverter data to uploading status information via SFTP. The bottleneck was not one specific script, but the entire architecture. There was no separation of responsibilities, no distribution of load, no buffer for future growth. The little Pi was simply drowning under the weight of a system that had outgrown it.
The answer was not to desperately optimise the old machine, but to redesign the setup from the ground up. The first step was to move all Python processing away from the ageing Raspberry Pi 3 and onto a dedicated Raspberry Pi 5 equipped with an NMC card. That alone changed everything. Compared to the Pi 3, the Pi 5 is a different world. It handles solar forecasting, Fronius and Wallbox polling, Open Meteo ingestion, GTI modelling, weather processing, camera checks and JSON generation without the slightest hesitation. It writes to reliable storage, it runs systemd services cleanly, and it stays perfectly responsive even under continuous load. With all computational work isolated on hardware built for sustained performance, the Pi 5 finally provided the breathing room that the Pi 3 never had.
Only after this backend migration was fully tested did I begin the second phase, the migration of the webserver itself. All dashboards, all APIs, all static content and every JSON endpoint are now moving from the Raspberry Pi 3 to a full sized HP server with an Intel i5 processor and thirty two gigabytes of RAM. This machine will take over everything related to delivering pages, handling incoming requests and serving real time data to visitors. For the first time there will be real headroom. Pages will load instantly, caching will behave properly, and the SSD will remove the I O starvation that frequently stalled the Pi 3. The new server will hardly notice the workload, even when visitors open several dashboards at the same time.
Together these two machines, the Raspberry Pi 5 as the dedicated computation engine and the HP server as the dedicated web server, form a much cleaner and far more scalable architecture. The Pi 5 produces all data and makes it available to the HP server, which in turn delivers it to visitors. There are no shared bottlenecks, no timing conflicts, no competition for the same storage or CPU cycles. It is a system designed for growth instead of survival, and the difference is visible immediately.
The migration from a Raspberry Pi 3 to this two machine setup is more than a hardware change. It marks the moment a hobby project matured into a proper service. The fragile charm of the old all in one solution has been replaced by an infrastructure that is quiet, stable and powerful enough to support real traffic and future expansion without hesitation.
Because this process is currently underway, a small warning is appropriate. As the webserver is moved to the HP machine, the site may behave strangely or may even be unavailable for a short while tomorrow, Wednesday. Once the transition is complete, performance and stability will be significantly better, but during the switch there may be brief interruptions.