Skip to content

PHP performance monitoring with Tideways

Tideways is a performance monitoring tool for PHP applications. It shows which requests are slow, which database queries take the longest, and where in your code the time is spent.

This article describes how to turn Tideways on for one of your sites, what the two settings do, and the help Cyberfusion offers around it.


Enabling it: three steps

  1. Add the tideways PHP module to the cluster. One-time, and it can't be undone.
  2. Get an API key from tideways.com.
  3. Paste the key into the FPM pool's PHP settings, on the 'Tideways' tab.

Tideways is a third-party service. You sign up directly with Tideways and pay them; Cyberfusion isn't involved in billing.

1. Add the Tideways PHP module to the cluster

Tideways runs as a PHP module, which has to be installed on the cluster before any site can use it.

  1. Navigate to 'Servers' > 'Clusters'.
  2. Select the cluster.
  3. Navigate to 'Properties' > 'PHP'.
  4. Under 'Custom PHP Modules', add tideways.
  5. Save.

Custom PHP modules can't be removed

Once a module is in the cluster's 'Custom PHP Modules' list, it cannot be removed. See Change PHP settings.

2. Get an API key

  1. Create an account at tideways.com and create a project for the application you want to monitor.
  2. In the Tideways dashboard, go to 'Project Settings' > 'Setup'.
  3. Under 'Configure PHP with Tideways API-Key', copy the API key.

3. Add the key in Core

Tideways is configured per site, on the site's FPM pool.

Directly

  1. Navigate to 'Advanced' > 'FPM Pools'.
  2. Select the FPM pool.
  3. Under 'Manage', click 'Update PHP Settings'.
  4. Open the 'Tideways' tab.

Via the project

  1. Navigate to 'Projects'.
  2. Select the project.
  3. Navigate to 'Advanced'.
  4. Under the 'FPM Pool' tile, click 'Manage'.
  5. Under 'Manage', click 'Update PHP Settings'.
  6. Open the 'Tideways' tab.

The two fields

  • 'Tideways API Key' — paste the key from the Tideways dashboard.
  • 'Tideways Sample Rate (%)' — the percentage of requests Tideways profiles. 100 profiles every request.

Lowering the sample rate does two things:

  • Less overhead on each request that is not profiled.
  • Fewer profiled requests count against your Tideways plan's monthly limit. Tideways plans are priced by monthly request volume, so a lower rate can keep you on a cheaper plan.

Save. Tideways starts profiling the next requests the pool handles.

For other PHP settings, and how a per-site setting overrides the cluster default, see Change PHP settings.

Why Tideways for PHP

Three tools come up most often:

  • Sentry — strong on error tracking, limited on performance.
  • New Relic — covers everything, including PHP, infrastructure, browser and mobile, but the volume of data can make it hard to spot what matters.
  • Tideways — PHP-only. Smaller scope, fewer screens, easier to find slow requests and queries without wading through unrelated data.

For PHP-only performance work, Tideways is the one Cyberfusion recommends.

Getting help

  • Free 'Welcome to Tideways' session — around 20 minutes: a demo of the most useful features, plus the basics to start using it yourself. Contact Cyberfusion support to book one.
  • Using Tideways itself — reading traces, setting up alerts, interpreting dashboards: the Tideways documentation.
  • A performance issue you cannot pin down — Cyberfusion can investigate with Tideways. Contact support to arrange it. This is paid work.