Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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 safest way to optimize Apache on a VPS is to measure first, select the MPM that fits your application, cap concurrency by real memory, then tune connection handling, HTTP/2, compression, and caching one class of change at a time. There is no universal MaxRequestWorkers, timeout, compression level, or cache lifetime: the right values depend on RAM, CPU, application runtime, traffic mix, and upstream services.

Use a rollback copy of every configuration file, validate syntax before reloading, and compare the same representative workload before and after each change. Apache’s own performance guidance warns that uncontrolled concurrency can make children consume enough memory to start swapping.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

1. Establish a baseline before changing Apache

Optimization without a baseline turns normal workload variation into a false success. Record a short, repeatable observation window that includes your usual traffic and at least one busy period. Capture both Apache and the application behind it.

  • Request latency, including median and high percentiles such as p95 and p99.
  • Requests per second or another throughput measure.
  • HTTP status-code counts, especially 4xx and 5xx responses.
  • CPU utilization and load average.
  • Resident memory for Apache children or threads, total free memory, and swap-in or swap-out activity.
  • Active connections, busy workers, request duration, and queueing.
  • Disk I/O, network utilization, and the response time of the application runtime or upstream services.

Keep the request set consistent. A static-file test cannot prove that a database-backed page improved, and a synthetic burst may hide problems caused by long-lived keep-alive or HTTP/2 connections. Save the baseline metrics and configuration so you can restore them if latency, errors, or memory pressure worsens.

#1 Best Overall
Sale
Compressed Air Duster,130000RPM Super Power Cordless Air Duster,Rechargeable Brushless Blower,3 Gear Adjustable Blower with LED Light,Dust Remover for Computer/House/Outdoor/Car
  • 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.

Check the running build and modules

Distribution names differ. On systems that provide it, run apachectl -M or httpd -M to list loaded modules, and use your package manager’s Apache tooling to identify the active MPM. Test configuration syntax with apachectl -t (or httpd -t) before any reload. Only one MPM may be loaded at a time.

2. Choose the MPM that matches your application

Apache’s Multi-Processing Modules (MPMs) determine how processes and threads accept work. The choice is primarily an application-compatibility and concurrency decision, not a universal speed switch.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
MPM Concurrency model When it fits Important trade-off
event Threaded, with connection handling arranged so supporting threads can take work that would otherwise occupy request threads. Modern, thread-safe applications and HTTP/2-capable stacks. Every loaded module and the application runtime must be thread-safe; otherwise compatibility failures can outweigh the concurrency benefit.
worker Threaded processes; generally a smaller memory footprint than prefork. Thread-safe applications that do not require event’s connection-handling behavior. Thread safety remains a requirement, and long-held connections can still consume thread capacity.
prefork Separate child processes; each child handles one request at a time per connection. Legacy or non-thread-safe modules and runtimes that require process isolation. Processes usually consume more memory, limiting safe concurrency on a small VPS.

Apache’s HTTP/2 guidance says that, when the platform and stack support it, event is the preferred MPM. That is a starting point, not permission to switch blindly: audit loaded modules, PHP or other runtime integration, and any vendor extension first.

Switching MPM safely

  1. Copy the current Apache configuration and record the active MPM and module list.
  2. Confirm that application modules are thread-safe. A process-isolated runtime may require prefork.
  3. Enable the candidate MPM using your distribution’s module tooling, which may disable the currently loaded MPM automatically.
  4. Run the syntax test and start Apache in a maintenance window or with a rollback plan.
  5. Exercise representative dynamic requests, uploads, authentication, background callbacks, and error paths before sending normal traffic to the new MPM.

If any module fails to load, the syntax test reports a conflict, or the application behaves incorrectly, restore the previous MPM rather than increasing limits to mask the problem.

3. Size MaxRequestWorkers from memory

MaxRequestWorkers caps simultaneous requests. For event and worker, it limits available threads; for prefork, it limits child processes. Apache documents a prefork default of 256 and a threaded default calculation of 16 server processes multiplied by 25 threads, but distribution builds can change defaults. Treat those numbers as starting points, never as a target for your VPS.

A practical sizing method

  1. Measure the resident memory of representative Apache workers while serving your real application. Dynamic requests often use more memory than static files.
  2. Reserve memory for the operating system, TLS, the application runtime, database clients, filesystem cache, monitoring, and short bursts. Do not count swap as usable headroom.
  3. Divide the memory you can safely allocate to Apache by the measured per-worker or per-thread footprint. Round down substantially, then test under load.
  4. Increase concurrency in small increments while watching swap activity, high-percentile latency, CPU saturation, and error rates. Stop when the next increment adds queueing or swapping rather than throughput.

The calculation is a safety boundary, not a benchmark. A request that blocks on a database or external API can occupy a worker much longer than a static request, so model the slowest important path, not only the average page.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
EVEO® Screen Cleaner Spray Kit (Streak-Free) TV Screen Cleaner for Smart TV, Lcd, LEd, Oled | Computer Screen Cleaner Spray and Wipe Microfiber Cloth - TV, Monitor, Laptop, iPad, Car - 6.7oz 1 Pack
  • 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

Understand ServerLimit and ThreadsPerChild

Threaded MPMs combine ServerLimit, ThreadsPerChild, and MaxRequestWorkers. Apache requires threaded worker values to be at least ThreadsPerChild and recommends integer multiples so capacity is distributed cleanly across child processes. Excessive ServerLimit or worker settings can reserve unnecessary shared memory, prevent startup, or destabilize a VPS.

After editing, inspect the startup log and the running status page to verify the number of processes and threads actually created. If Apache refuses to start, revert the last change, run the syntax test, and lower the threaded limits instead of repeatedly increasing ServerLimit.

4. Tune keep-alive and connection behavior

Keep-alive avoids a new TCP and TLS setup for every request, which is valuable for pages that fetch many assets. It also holds connection resources while a client is idle. Apache documents a default KeepAliveTimeout of 5 seconds as a compromise between avoiding repeated setup and retaining idle connections.

Choose a timeout from observed traffic

  • Use access logs and connection counts to see how long clients remain idle between requests.
  • If many idle connections consume worker or file-descriptor capacity, reduce the timeout gradually.
  • If clients repeatedly reconnect and TLS handshakes dominate CPU, a slightly longer timeout may help.
  • Recheck mobile, high-latency, and HTTP/2 clients separately; one value may not suit every traffic class.

Change one connection setting at a time. A lower timeout can reduce memory retention while increasing connection setup work, so judge it with latency, CPU, and active-connection measurements together.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

5. Enable HTTP/2 only when the stack is ready

HTTP/2 multiplexes requests over a connection and can reduce connection overhead, but it requires TLS, a build with mod_http2, and an application stack that behaves correctly with the selected MPM. Verify that the module is enabled at build or configuration time, then confirm protocol negotiation from a client or from response diagnostics.

The event MPM is generally the best starting point for HTTP/2 when supported. With prefork, Apache processes only one HTTP/2 request at a time per connection, which can limit the benefit and leave requests queued behind one another.

Rank #3
Sale
BladeHawks RGB Gaming Mouse Pad Extra Large Extended 31.5x12 Inch-Black | LED mouse pad with 14 lighting modes, covers keyboard & mouse, anti-slip rubber base, waterproof surface, USB powered
  • 【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.
  1. Confirm TLS certificates, protocol configuration, and mod_http2 availability.
  2. Use the event MPM only after confirming that loaded modules and runtimes are thread-safe.
  3. Enable HTTP/2 in the TLS virtual host using your distribution’s documented directive syntax.
  4. Validate configuration, reload, and verify that clients negotiate HTTP/2 rather than assuming the directive worked.
  5. Compare request queues, CPU, latency percentiles, and error logs with the HTTP/1.1 baseline.

HTTP/2 can increase simultaneous work and header-processing CPU. If queues or CPU rise without a useful latency improvement, revert the protocol change or reduce other concurrency instead of raising MaxRequestWorkers automatically.

6. Compress only content that benefits

mod_deflate supplies Apache’s DEFLATE output filter and gzip encoding. Compression usually helps HTML, plain text, CSS, JavaScript, JSON, XML, and similar text because fewer bytes cross the network. JPEG, PNG, GIF, video, archives, and other already-compressed formats normally gain little and still cost CPU if recompressed.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A conservative configuration pattern

AddOutputFilterByType DEFLATE text/html text/plain text/css text/javascript application/javascript application/json application/xml text/xml
DeflateCompressionLevel 5

The exact MIME list should match what your application emits. A middle compression level is a sensible starting point on a small VPS; higher levels trade additional CPU for fewer bytes. Measure CPU time, response size, and tail latency rather than assuming the highest level is fastest.

Apache’s module documentation identifies gzip as the supported encoding for broad compatibility with older browsers and recommends correct Vary: Accept-Encoding behavior so caches keep compressed and uncompressed variants separate. Test a request with and without Accept-Encoding: gzip and confirm the response headers and body are consistent.

Review TLS disclosure risk

Compression of responses that contain secrets alongside attacker-influenced text can create information-disclosure risks such as BREACH over TLS. Do not blindly compress pages carrying session tokens, CSRF secrets, or other sensitive values. Exclude those responses or redesign them so secret-bearing data is not compressed with reflected input.

7. Add browser and server caching deliberately

Browser caching with mod_expires

mod_expires generates Expires and Cache-Control: max-age headers. Long lifetimes work well for fingerprinted assets whose filenames change whenever content changes. Frequently updated HTML should use a shorter lifetime or revalidation-oriented policy.

Rank #4
Sale
Vaydeer Wrist Rest for Keyboard and Mouse, Computer Ergonomic Wrist Support Pad, Soft Memory Foam Arm Cushion for Desk, Palm Hand Office Laptop Typing
  • 【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.
ExpiresActive On
ExpiresByType text/css "access plus 7 days"
ExpiresByType application/javascript "access plus 7 days"
ExpiresByType image/svg+xml "access plus 7 days"
ExpiresByType text/html "access plus 0 seconds"

Choose an access-time or modification-time basis intentionally. Access-time rules count from when the client receives the response; modification-time rules derive freshness from the file’s timestamp and can behave differently after deployment. Match the policy to your release process and make sure asset fingerprints really change when bytes change.

Origin caching with mod_cache

mod_cache can avoid regenerating unchanged content and can deliver a substantial benefit when conditional requests are honored. Define cacheability by response semantics, not by URL pattern alone. Private dashboards, session pages, account data, personalized responses, and authorization-sensitive content should not be cached unless you have an explicit design and tests for isolation.

Apache warns that quick-handler caching can bypass host-based Allow and Deny controls. Treat that as a security boundary: review authorization behavior on cache hits, misses, and revalidation, and purge or disable caching if a response could cross users or tenants.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

8. Observe Apache while it is serving traffic

Enable mod_status only on a protected administrative endpoint. Restrict it by network policy or authentication, and never expose a detailed status page publicly. Use it with access and error logs plus host-level metrics.

  • Busy and idle workers: sustained exhaustion indicates a concurrency or upstream-latency problem.
  • Request duration: separate slow application work from connection or static-file overhead.
  • Status codes: rising 5xx responses after a tuning change are a rollback signal.
  • CPU and memory: identify compression, TLS, application, or excessive process/thread overhead.
  • Swap and disk I/O: any sustained swapping means the memory budget is too aggressive.
  • Network saturation: compression may help bytes on the wire but can shift the bottleneck to CPU.

Use percentiles rather than averages alone. A configuration that lowers average latency while making p99 requests time out is not an improvement for users experiencing the tail.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

9. Apply changes with a rollback workflow

  1. Record: save the active configuration, MPM, module list, and baseline metrics.
  2. Change one class: alter MPM, concurrency, connection behavior, compression, or caching separately.
  3. Validate: run the syntax test and inspect warnings before reloading.
  4. Reload safely: use the service manager’s reload operation when possible; restart only when required by the MPM or module change.
  5. Exercise the workload: test static files, dynamic pages, authentication, uploads, error handling, and any HTTP/2 clients.
  6. Compare: use the same request mix and observation window as the baseline.
  7. Keep or revert: retain a change only if latency, throughput, errors, and resource use improve without a new security or compatibility issue.

Keep dated configuration copies and a documented restore command. A rollback that has not been tested is not a rollback plan.

Best Value
Sale
Under Desk Cable Management Tray No Drill, Metal Mesh Cable Management Under Desk with Clamp Mount, 2 Hole Cable Tray with Wire Management and Cord Organizer for Home Office Standing Desk
  • 【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.

10. Diagnose common VPS symptoms

Swap usage or sudden latency spikes

Reduce MaxRequestWorkers and, for threaded MPMs, review ServerLimit and ThreadsPerChild. Check whether a recent module, compression level, or application release increased per-request memory. Do not solve swapping by adding more workers.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

High CPU with small response sizes

Inspect compression levels, TLS workload, and application calls. Exclude already-compressed media, lower DeflateCompressionLevel, and compare CPU time with and without compression for the same text responses.

Many idle connections and few busy requests

Review KeepAliveTimeout, client behavior, and HTTP/2 negotiation. Shorten the timeout cautiously if idle retention is consuming resources; lengthen it only when repeated handshakes are a measurable cost.

HTTP/2 requests queue or fail after enabling it

Verify that mod_http2 loaded, the client negotiated HTTP/2, and the event MPM and all modules are compatible. Prefork’s one-request-at-a-time behavior per connection can be the limiting factor. Revert to the known-good protocol or MPM while investigating logs.

Users receive stale or private content

Inspect Cache-Control, Vary, authorization headers, and cache keys. Remove private responses from shared caching, purge existing entries, and test two distinct authenticated users as well as an anonymous client.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

11. A repeatable optimization checklist

  • Baseline latency percentiles, throughput, errors, CPU, resident memory, swap, connections, and application response time.
  • Confirm the active MPM and loaded modules.
  • Use event for a verified thread-safe modern stack; retain prefork when compatibility or process isolation requires it.
  • Set MaxRequestWorkers from measured memory headroom, not the documented default.
  • Keep threaded limits aligned with ThreadsPerChild and avoid gratuitous ServerLimit values.
  • Tune keep-alive from observed connection reuse and handshake cost.
  • Enable HTTP/2 only with TLS, mod_http2, compatible modules, and post-change verification.
  • Compress text selectively, exclude precompressed media, preserve Vary: Accept-Encoding, and review TLS disclosure risk.
  • Use long browser-cache lifetimes only for reliably fingerprinted assets.
  • Never cache private or authorization-sensitive responses without isolation tests.
  • Protect mod_status, compare reproducible workloads, and keep an immediate rollback path.

What a successful optimization looks like

Success is not a particular Apache directive value. It is a measured reduction in user-visible latency or origin work without increased errors, swapping, security exposure, or operational fragility. When a change improves one metric but harms another, keep the baseline, identify the new bottleneck, and choose the setting that fits the VPS’s actual workload rather than copying a preset from another server.

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.