Payments are experiencing issues due to temporary restrictions in Russia. If your payment does not go through, please submit a support request.Our support team is available 24/7 — we are always here to help with hosting and server issues.We are now accepting requests for dedicated server rental and colocation services in our data center.Reminder: we recommend enabling backups for additional data protection.A new VPS/VDS lineup with NVMe storage and improved performance is now available.Maintenance work on some servers has been completed. All services are operating normally.
Article5 min readViews1

How to Calculate VPS Resources for an Online Store Before a Sale

A practical approach to evaluating CPU, memory, database, and performance headroom before a marketing campaign: from load scenarios to scaling criteria.

Comments 0

Server equipment next to order boxes and load indicators without labels
In this article

Doubling the VPS before a sale is a clear but weak solution. A store may have enough CPU but lack database connections; memory may be consumed by cache, while the order queue waits for an external delivery API. The tariff becomes more expensive, but the bottleneck remains.

Resources are better evaluated based on user scenarios and measurements. The goal is not to guess the ideal configuration, but to determine the workload, headroom, the moment for scaling, and actions during degradation.

Convert sales forecasts into technical scenarios

The number of visitors alone tells the server little. One person opens a product card from the CDN, another applies a heavy filter, and a third places an order triggering several integrations. The forecast is broken down into actions and proportions.

Scenario

What is under load

What to measure

Category and filter

PHP, database, search, cache

Response time, database queries, cache hit rate

Product card

Template, prices, stock levels, images

Server time and response size

Shopping cart

Session, price recalculation, and discounts

Errors, locks, and sum stability

Order placement

Database, payment, delivery, CRM

Step duration, timeouts, number of retries

Catalog import

CPU, disk, database, background jobs

Duration and impact on shoppers

A conditional example: advertising promises 12,000 visits in an hour. If the peak is unevenly distributed and one visit generates an average of eight dynamic requests, the average does not equal the safe peak. For testing, set a gradual increase, an expected plateau, and a short spike above the forecast.

Establish a baseline before testing

Measurements taken on an already overloaded server do not reflect normal conditions. Select a typical hour without imports and record CPU load, free and available memory, swap, disk latency, number of database connections, background task queue, and response time distribution.

  • CPU matters together with the execution queue and the time per request; a percentage without context does not show saturation.

  • Memory is assessed by available volume and pressure, not by the 'free' field: Linux uses RAM for caching.

  • The disk is checked for latency and queue depth, especially during import, backup, and logging.

  • The database is evaluated by slow queries, locks, connection pool usage, and the proportion of reads from disk.

  • External services are measured separately: a fast site will not fix a slow shipping calculation or a stuck payment callback.

Test a copy resembling the production system

A load test on an empty catalog and fresh database measures a laboratory template. The test environment requires a comparable volume of products and orders, the same indexes, PHP version, database configuration, cache, and background processes. Personal data must be anonymized during copying.

It is dangerous to direct artificial load to a live store without an agreed window and limits. The test may exhaust connections, fill logs, create orders, or trigger real payment and shipping APIs. For external integrations, use test modes or stubs with measured latency.

How to read results without magic thresholds

Focus on the point where the system stops meeting the agreed service level. For example, 95 percent of product cards must respond via the server in under 600 milliseconds, errors must remain below the agreed share, and the order queue must be processed within two minutes. These are conditional examples, not universal norms.

If execution time increases alongside CPU usage and the execution queue fails to decrease, the processor is likely saturated or the code is too expensive. If CPU usage is moderate but disk wait times and database queries rise, adding more cores may offer little help. If memory runs out and swapping begins, first identify the memory owner and cache settings.

Separate vertical scaling from architectural changes

Situation

Likely Action

Limitation

Short Predictable Spike

Temporarily increase VPS resources and warm the cache

Measurements are needed, and the ability to revert the tariff plan

One heavy template

Optimize queries and the component

A new tariff plan masks the cause

Many static files

Offload distribution to a CDN or object storage

Dynamic content and the database will remain on the server

Background tasks hinder shoppers

Separate queues and schedules

Do not allow orders to fall behind

The limit of a single node

Separate web, database, search, or add multiple web nodes

Requirements for sessions and shared storage will arise

Prepare a plan for the campaign day

  1. Freeze optional updates and mass catalog changes.

  2. Verify backups and restoration, but do not run heavy copying during peak hours.

  3. Warm up caches with controlled requests and ensure warming does not trigger side effects.

  4. Configure monitoring for response time, errors, queues, the database, and external APIs.

  5. Define response levels: what can be scaled automatically, what requires a specialist's decision, and when to stop advertising.

  6. After the peak, save the graphs and actual figures so the next calculation is based on real data.

The final VPS configuration is a result of testing, not a starting point. A useful calculation links predicted shopper actions to application constraints and leaves a margin for forecast error. If the store cannot be reproduced in a test environment, scale cautiously with early thresholds and a ready rollback plan.

Discussion 0

Share your experience and ask questions. Comments without links appear after editorial review.

No comments yet. Start the discussion.