Free tools Windows power users keep installed
One-click scans. No signup required.
iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
The fastest way to troubleshoot a slow or unreliable self-hosted app is to narrow the failure boundary in order: reproduce the symptom, capture service status and logs, test the app directly and through its proxy, verify health-check semantics, correlate host and container metrics with the incident time, and only then tune application or dependency settings. This sequence prevents a database problem from being mistaken for a CPU problem, and prevents a reverse-proxy fault from leading to risky application changes.
Commands and endpoint names vary by product, operating system, container runtime, and version. Treat the examples below as labeled patterns, not universal commands or thresholds.
1. Define the symptom before changing anything
“Slow” is not a diagnosis. Write down exactly what is slow, who sees it, and when it happens. A first page load, an API operation, a token stream, a scheduled job, and a login request can use different code paths and dependencies.
Record a reproducible request
- Operation: identify the URL, API call, background task, upload, search, report, or stream that is affected.
- Timing: record when the problem began, whether it is continuous or intermittent, and whether it follows a deploy, restart, update, configuration change, backup, migration, or traffic increase.
- Scope: note whether all users, one tenant, one region, one device, or only unauthenticated or authenticated requests are affected.
- Result: capture elapsed time, HTTP status, response size, and the exact error or timeout.
- Conditions: record cache state, request payload, concurrency, and whether the test was made locally, from the LAN, or over the public internet.
Repeat the same request at least twice and keep the results. A single slow request can be a cold cache or a transient network event; a repeatable delay is more useful evidence.
#1 Best Overall
- Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
- With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
- Wide Application: attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
- Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
- Economical &Reusable: Built durable materials with a long-lasting battery,our CAGIWIRU air duster it's a sustainable alternative to disposable air cans.
Build a small evidence bundle
Start with service state, recent logs, and a reachability check. NetBird’s self-hosting troubleshooting guide, updated June 26, 2026, recommends having status and logs in hand because they often expose configuration, authentication, and migration failures before deeper investigation. See NetBird’s troubleshooting guide for its product-specific sequence.
Preserve the output with a timestamp and the application version. Do not paste secrets, access tokens, cookies, database passwords, or full request bodies into an incident record.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware match2. Check whether the process is alive and what it reports
Docker Compose deployments
For a Compose-based installation, inspect the deployed service names and then read the relevant logs:
docker compose ps
docker compose logs --since=30m SERVICE_NAME
NetBird documents docker compose ps and docker compose logs -f netbird-server as examples, but its service names vary by installation and version. Substitute the name shown by your own project’s Compose file; do not assume netbird-server exists in another application.
Look for repeated restarts, failed migrations, refused database connections, authentication errors, exhausted connection pools, and warnings that begin at the same time as the slowdown. A container marked “running” can still be returning errors or waiting on a dependency.
Rank #2
- Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
- Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
- Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
- Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
- Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth
systemd-managed services
For a Linux service managed by systemd, use the unit name documented by that application:
systemctl status YOUR_UNIT --no-pager
journalctl -u YOUR_UNIT --since "30 minutes ago" --no-pager
These commands are generic systemd patterns. GitHub’s self-hosted runner documentation is a product-specific example that also points operators to the runner’s diagnostic-log directory and explains that ephemeral runners need logs forwarded and preserved externally. Follow the GitHub runner documentation for runner commands rather than copying them as application commands.
What this first check can and cannot prove
- A running process proves only that the process has not exited; it does not prove that requests complete correctly.
- A clean application log does not rule out DNS, TLS, proxy, storage, or upstream network failures.
- A restart may clear a stuck worker or connection pool while hiding the cause. Save logs and metrics before restarting when it is safe to do so.
3. Test the application directly and through the reverse proxy
Separate the path from the host to the application from the path that users take through DNS, TLS, authentication, and a reverse proxy. Run a local health or API request on the host or inside the application network, then run the equivalent request against the public hostname.
Direct check
Use the endpoint documented by the application. A generic HTTP example is:
curl -iS --max-time 10 http://127.0.0.1:PORT/health
If the app is in a container, test from an appropriate container or network namespace when localhost on the host does not reach the container. Record status, headers, and elapsed time. A successful response shows that this path answered at that moment; it does not validate every dependency.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsRank #3
- 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
- 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
- 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
- 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
- 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.
Proxied check
Test the public hostname separately:
curl -iS --max-time 15 https://app.example.com/health
NetBird documents requesting its API through the public domain to verify proxy-to-API reachability; use its documented endpoint and proxy checks for that product. For another app, use the endpoint and authentication method specified by its own documentation.
Interpret the difference
| Direct result | Proxied result | Most useful next checks |
|---|---|---|
| Fast and correct | Slow, failing, or timing out | DNS resolution, certificate and TLS negotiation, proxy route, upstream address, proxy timeouts, authentication middleware, buffering, and proxy-to-container connectivity. |
| Slow or failing | Also slow or failing | Application logs, dependency connections, host/container resources, and the app’s own request timing. |
| Intermittent | Intermittent | Repeat tests while recording timestamps, proxy instance, backend instance, restarts, load, and DNS answers. |
When instrumentation permits, compare client-to-proxy, proxy-to-app, and app-to-dependency timings. This comparison is a diagnostic clue, not proof by itself; repeat it with the same workload and note cache and concurrency conditions.
4. Understand what health checks actually test
Health endpoints have different meanings. Microsoft’s ASP.NET Core guidance distinguishes a basic probe that confirms the app can respond from custom checks that test dependencies such as databases and external service endpoints. Read the ASP.NET Core health-check documentation for the framework’s exact behavior.
Liveness versus readiness
- Liveness: asks whether the process is responsive enough to remain running. It should be cheap and avoid dependencies that are expected to fail temporarily.
- Readiness or dependency health: asks whether the instance can serve a particular workload, including required databases, queues, or external services.
Orchestrators and load balancers may restart a container, stop a rollout, or remove an instance from traffic when a probe fails. A dependency check that is too broad can make a responsive process appear dead; a liveness-only check can report success while every database request fails. Confirm the probe’s timeout, interval, failure threshold, and restart or routing action before changing it.
Product-specific endpoint caveats
OpenProject warns that adding basic authentication to its /health_checks endpoint can break existing Docker Compose and Kubernetes container health services. That is an OpenProject-specific compatibility detail, documented in its monitoring guidance, not a general rule for every health endpoint.
Rank #4
- 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
- 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
- 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
- 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
- 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.
5. Correlate resource measurements with the slow period
Collect host and workload metrics covering the exact timestamps in your evidence bundle. Check CPU, memory, swap, disk capacity and latency, network throughput and errors, process or container restarts, and load average. Compare the incident with the app’s normal baseline and its configured limits.
Container and Kubernetes signals
Kubernetes v1.37’s metrics reference defines container_cpu_usage_seconds_total as cumulative container CPU time in core-seconds and container_memory_working_set_bytes as current working-set memory. It also documents node CPU and working-set memory metrics. A rising cumulative CPU counter must be interpreted as a rate over time; the counter’s absolute value is not a percentage.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
- Compare CPU usage with the container’s requested and limited CPU, and look for throttling if your runtime exposes it.
- Compare working-set growth with memory limits and restart events; determine whether the process is leaking, caching, or handling a larger workload.
- Check whether one pod or container consumes a disproportionate share while peers remain healthy.
Host and container dashboards
Watchflare’s self-hosted monitoring documentation describes a host agent and central hub architecture with host CPU—including iowait and VM steal—memory, disk usage and read/write throughput, network bandwidth, temperature, and load-average signals, plus optional Docker and Podman per-container CPU, memory, and network metrics. Those details come from the vendor’s feature documentation; they are not an independent performance evaluation.
Signals that commonly narrow the search
| Observed change | Questions to answer |
|---|---|
| Sustained CPU pressure | Which process or container increased usage? Is work CPU-bound, or is high iowait making CPU graphs misleading? |
| Memory growth, swapping, or restarts | Did working set grow with traffic? Did the runtime hit a limit or the host begin reclaiming memory? |
| Full disk or rising storage latency | Are logs, databases, temporary files, or backups filling the volume? Did write latency coincide with request delays? |
| Network errors or unusual throughput | Is the bottleneck between client and proxy, proxy and app, or app and a dependency? |
| One container is abnormal | Does its request mix, worker count, limit, or dependency usage differ from healthy instances? |
There is no universal CPU, memory, disk, or latency threshold that identifies a failing self-hosted app. A metric is a clue; validate it against workload, limits, baseline, and logs.
6. Investigate application and dependency bottlenecks
Once the host and network path look healthy, inspect application-level timing. Enable the app’s supported request metrics, tracing, slow-query logging, queue-depth metrics, and connection-pool statistics. Separate time spent in application code from time waiting for a database, cache, filesystem, queue, or external API.
Best Value
- 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
- 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
- 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
- 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
- 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.
Database and query behavior
- Check for slow queries, lock waits, missing indexes, connection-pool exhaustion, and transactions that remain open.
- Compare query duration and queue wait with the same request’s total duration.
- Verify that the database volume has free space and acceptable I/O latency before changing SQL or schema settings.
SurrealDB’s self-hosted monitoring documentation describes metrics and, for Enterprise, threshold-based slow-query logging. Edition availability matters; consult SurrealDB’s monitoring and observability documentation before relying on a feature.
Streaming, compression, and caching
Open WebUI’s performance guide explains that high-frequency token streaming increases network I/O and server CPU, and discusses response compression and static-asset caching at the application or proxy layer. It attributes roughly 3–4% of worker CPU time to its compression middleware in profiled production deployments; that estimate is specific to Open WebUI and is not a general server benchmark. Read the Open WebUI performance documentation before changing buffering, compression, or streaming behavior.
Do not disable compression or buffer streams automatically. Measure first: compare time to first byte, complete-response time, CPU usage, response size, and behavior for streaming versus non-streaming requests. A change that helps static assets may harm interactive streams, and a cache that reduces latency can serve stale data if invalidation is incorrect.
Configuration and concurrency
Review worker counts, connection limits, queue consumers, timeouts, retry policies, and payload-size limits against the application’s documented defaults. Excessive retries can turn a dependency slowdown into a traffic storm; too few workers can serialize requests; too many workers can exhaust CPU, memory, or database connections. Change only settings that your measurements implicate.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.7. Use a persistent monitoring design when incidents recur
If you repeatedly discover problems only after users report them, add monitoring that preserves history and alerts on symptoms meaningful to the app. Compare approaches by the following criteria:
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →| Approach | Host coverage | Container or app detail | Historical retention and alerts | Operational trade-off |
|---|---|---|---|---|
| Host-level agent and central hub | CPU, memory, disk, network, and host health | Depends on runtime integration; Watchflare documents optional Docker and Podman metrics | Depends on the selected system and retention settings | Central storage can remain available when the app host is unhealthy, but adds an agent and a separate service. |
| Orchestrator metrics | Node and workload resource signals | Kubernetes exposes container CPU and memory metrics defined in its reference | Requires a metrics backend and alert rules | Useful for capacity and scheduling clues; usually insufficient to identify a slow query or request without app instrumentation. |
| Application-native metrics and logs | Usually limited to the app and its dependencies | Request timing, queues, database calls, health checks, and product-specific events when supported | Depends on log and metrics retention | Best diagnostic detail for that app, but may disappear with the app host unless exported independently. |
| External synthetic checks | Public DNS, TLS, proxy, and user-facing reachability | Usually cannot see internal query or process details | Provides an outside-in history and alerting | Catches outages users experience, but needs a safe endpoint and careful authentication handling. |
Keep at least critical logs and alert state outside the monitored host when possible. The monitoring system should answer three questions: did users experience an error, where in the request path did time accumulate, and what changed at that moment?
8. Change one variable, verify, and preserve recovery options
- State a hypothesis. For example: “Proxy buffering is delaying streaming responses,” or “The database pool is exhausted during scheduled imports.”
- Choose one reversible change. Avoid changing proxy timeouts, worker counts, compression, database settings, and resource limits together.
- Capture a baseline. Repeat the same request and record latency, status, resource usage, logs, and dependency timings.
- Apply the supported procedure. Use the project’s documented configuration and reload or restart method. Keep a copy of the previous configuration.
- Repeat the measurement. Use the same workload, cache conditions, and observation window. Confirm both speed and correctness.
- Decide and document. Keep the change only if the relevant symptom improves without creating errors, resource pressure, or data-integrity risk.
If a release or configuration change clearly preceded the incident, compare versions and use the application’s supported rollback process. Back up persistent data before migrations, repairs, or destructive maintenance. Do not delete volumes or rebuild databases as a first-line “fix.”
9. Symptom-to-check troubleshooting map
| Symptom | First boundary to test | Evidence that narrows it |
|---|---|---|
| Public URL times out, but local endpoint is fast | DNS, TLS, reverse proxy, and upstream routing | Proxy access/error logs, certificate status, DNS answers, direct-versus-proxied timings, and proxy-to-app connectivity. |
| Health endpoint is green, but normal requests fail | Health-check scope and dependency readiness | Whether the probe tests the database or external services, dependency logs, query errors, and application request traces. |
| Requests slow during backups or scheduled jobs | Disk I/O, CPU, memory, and contention | Job timestamps, storage throughput and latency, iowait, process/container shares, and app request timing. |
| Only streaming responses are slow | Streaming implementation, proxy buffering, compression, and network path | Time to first byte, token cadence, response size, CPU, proxy settings, and a controlled non-streaming comparison. |
| Intermittent 5xx errors after an update | Version/configuration change and restart history | Deployment timeline, instance-specific logs, health-probe events, migration output, and comparison with the previous supported version. |
| One tenant or user is affected | Request data, authorization path, tenant-specific records, or regional network path | Correlated request IDs, payload size, database queries, proxy route, and a control request from an unaffected user. |
10. A compact incident checklist
- Write the exact slow operation, affected users, start time, and expected result.
- Save service status, recent logs, version information, and a repeatable request result.
- Test a documented local endpoint and the public hostname separately.
- Check DNS, TLS, proxy routing, upstream reachability, buffering, and authentication behavior when paths differ.
- Confirm whether health checks are liveness-only or dependency-aware, and what the orchestrator does on failure.
- Correlate CPU, memory, swap, disk, network, restarts, and container or pod metrics with the incident timestamp.
- Inspect request timing, database and queue behavior, connection pools, retries, streaming, compression, and caching only after basic infrastructure checks.
- Change one reversible variable, repeat the same measurement, and retain the before-and-after evidence.
- Preserve logs and back up persistent data before migrations or destructive repair steps.
This workflow does not promise a single fix for every self-hosted stack. It gives you a defensible way to identify whether the delay or outage belongs to the application, a dependency, the host or container, or the network and proxy path—and to make the smallest safe change supported by evidence.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Recommended Free Tools

