A dedicated server should not receive production traffic simply because the operating system boots and the provider reports that provisioning is complete. Hardware, storage, networking, security controls, backups, and the application stack must work together under realistic conditions. A short acceptance test gives you evidence that the rented server is ready—and creates a baseline for diagnosing problems later.
This playbook covers the checks to run after deployment and before final cutover. Adapt the depth of testing to the workload: a disposable staging server needs less evidence than a database system with a narrow maintenance window.
- Define acceptance criteria before testing
- Verify the rented configuration
- Establish a clean operating baseline
- Test storage without endangering data
- Test network paths from relevant locations
- Validate security controls
- Test the application as a user
- Run a controlled load test
- Verify monitoring and alert delivery
- Prove backup and restore readiness
- Test provider support before an emergency
- Run the final go or no-go review
- Launch with evidence, not assumptions
Define acceptance criteria before testing
Write down what “ready” means before you inspect the server. Otherwise, testing tends to stop when the first successful page loads.
- The delivered CPU, memory, storage, network port, IP allocation, and location match the order.
- The supported operating system and required software are installed.
- Administrative access is restricted and recoverable.
- Expected application transactions complete successfully.
- Monitoring detects service and resource failures.
- Backups complete and representative data can be restored.
- Performance remains acceptable under the agreed test load.
- The provider escalation path is documented and accessible.
Assign an owner and a pass condition to every test. Define which failures block launch, which can be corrected before the maintenance window, and which are accepted with a documented risk.
Verify the rented configuration
Compare the running server with the order confirmation rather than with a sales page. Product ranges can contain several processors, drive models, network options, or regional variants.
| Component | What to verify |
|---|---|
| CPU | Model, core count, architecture, and enabled features required by the workload |
| Memory | Installed usable capacity and expected error reporting |
| Storage | Drive count, capacity, media type, controller mode, and intended array layout |
| Network | Interface speed, public and private addresses, routing, and traffic allowance |
| Location | Datacenter or region stated in the order |
| Access | Provider portal, remote console, rescue environment, and support permissions |
Record identifiers without publishing sensitive serial numbers or account details. If the configuration differs from the order, pause workload deployment and resolve the discrepancy with the provider.
Establish a clean operating baseline
Complete the initial hardening and configuration work from your dedicated server deployment checklist. Then capture a baseline that can be compared with future behaviour.
- Operating-system and kernel versions.
- Installed packages and enabled repositories.
- Running and enabled services.
- Mounted filesystems and free capacity.
- Network interfaces, routes, and listening ports.
- Firewall and administrative-access rules.
- Normal idle CPU, memory, disk, and network activity.
Remove temporary accounts, installation files, copied credentials, and test services before launch. Store the approved configuration somewhere that remains available if the server is offline.
Test storage without endangering data
Run storage tests before production data is placed on the server, or use a dedicated test area that cannot overwrite live files. Confirm that every expected drive is visible and that the array or redundancy layer reports a healthy state.
Test the operations that matter to the workload. Large sequential transfers can behave differently from small random database operations. Measure latency and throughput with an agreed test profile, note the tool and settings, and keep the result as a baseline rather than treating it as a universal score.
Also verify:
- The operating system starts correctly after a controlled reboot.
- Filesystems mount in the intended order.
- Temporary and log directories have suitable capacity.
- Storage alerts reach the responsible person.
- A failed or rebuilding array would be visible to monitoring.
A redundant disk layout improves tolerance of some drive failures; it does not replace an independent backup.
Test network paths from relevant locations
A single speed test from inside the datacenter says little about the path used by customers. Test from the regions and networks that represent actual traffic.
- Measure latency and packet loss over a meaningful period.
- Confirm inbound and outbound throughput within a safe test limit.
- Verify public and private routes.
- Check firewall behaviour for allowed and denied traffic.
- Test DNS records in a controlled environment before public cutover.
- Confirm access to required third-party services.
- Check whether application callbacks and allowlists recognise the new addresses.
If geography is producing unexpected latency, revisit the criteria used to choose the dedicated server location. If sustained transfer needs are unclear, compare the results with your bandwidth and port-speed plan.
Validate security controls
Check that the server exposes only the services required for launch. Test administrative access from an approved network and confirm that an unapproved path is rejected.
- Review administrator accounts, SSH keys, and privileged groups.
- Confirm that default and temporary credentials are disabled.
- Inspect listening services and firewall rules.
- Verify operating-system update status.
- Confirm time synchronisation and log collection.
- Test the process for obtaining emergency console access.
- Verify that security alerts have an owner and escalation path.
Do not perform uncontrolled attacks against a provider network. Any intrusive security test should follow the provider’s acceptable-use rules and the written scope approved by your organisation.
Test the application as a user
Infrastructure checks prove that the server functions. They do not prove that the service works. Connect a staging or isolated copy of the application and exercise complete user transactions.
Include authentication, reads, writes, file uploads, scheduled jobs, database changes, caching, queues, email delivery, webhooks, and required third-party integrations. Keep customer communications and irreversible external actions disabled during testing.
Test configuration that commonly changes during migration:
- Database connection addresses and credentials.
- Filesystem paths and permissions.
- Environment variables and secrets.
- Hostnames, URLs, redirects, and callback addresses.
- TLS certificates and certificate chains.
- Background-worker and scheduler settings.
- Outbound network allowlists.
Run a controlled load test
Create a workload model based on observed production behaviour or a documented launch estimate. Define normal, peak, and short-burst scenarios. A test that generates arbitrary requests can produce an impressive number without answering whether the server fits the application.
During the test, monitor application response time, errors, CPU, memory, storage latency, connections, queue depth, and network use. Stop if the test threatens other systems or exceeds the approved scope.
Look for the first constrained resource and the shape of degradation. A usable result states the workload, duration, configuration, success criteria, and bottleneck. Keep enough free capacity for maintenance, recovery, growth, and traffic variation.
Verify monitoring and alert delivery
Trigger safe test conditions instead of assuming alerts work. Stop a non-critical test service, generate an application error, and approach a temporary warning threshold in a controlled way.
Confirm that monitoring:
- Detects server and application failures.
- Routes alerts to the correct on-call contact.
- Includes enough context for investigation.
- Escalates when the first contact does not respond.
- Recovers cleanly when the test condition is removed.
Check monitoring from outside the server. An agent running only on the affected machine may be unable to report a complete outage.
Prove backup and restore readiness
Complete one real backup from the new server and restore representative data to an isolated location. Record the duration and any missing credentials, encryption keys, packages, or instructions.
For a stateful application, confirm that the backup method creates a consistent recovery point. Test more than a small configuration file: restore a database, application data, or another component that reflects the actual recovery process.
The restore test should show who initiates recovery, where data is restored, how the application is validated, and whether the result meets the required recovery time.
Test provider support before an emergency
Open a low-priority request with a specific question about the server. Confirm the correct channel, authorised contacts, response path, and escalation process.
Verify who handles hardware diagnosis, component replacement, rescue access, operating-system repair, and application recovery. If the plan is managed, turn every included service into a clear responsibility. A fast hardware response does not guarantee restoration of your data or application.
Run the final go or no-go review
Hold the review before the migration or launch window. Do not accept unresolved critical failures simply because the window has already been announced.
| Decision area | Required evidence |
|---|---|
| Configuration | Delivered resources match the approved order |
| Application | Critical transactions pass on the new server |
| Performance | Normal and peak tests meet the defined thresholds |
| Security | Access, exposure, updates, and logging are approved |
| Recovery | Backup and representative restore complete successfully |
| Operations | Monitoring, ownership, support, and escalation are active |
| Rollback | The previous service can be restored within the decision window |
Record accepted exceptions with an owner and deadline. Preserve the test results as the server’s initial operating baseline.
Launch with evidence, not assumptions
A pre-production test cannot eliminate every failure. It can expose incorrect orders, weak recovery paths, missing integrations, and operational gaps while there is still time to fix them.
Approve launch only when the server meets the workload’s explicit requirements, the team can detect failure, and a tested recovery path remains available. That is the difference between a provisioned server and a production-ready service.







