パフォーマンス

PHP クライアント ライブラリは、最小限のコストで Google Ads API とのインタラクションを容易に ユーザー側で構成できますただし パフォーマンスは 統合されています。

こちらのベスト プラクティスのほとんどが適用可能 すべての言語に対応しています。このガイドでは、PHP 固有のものについて説明します。

Protobuf の実装

ProtobufgRPC によって使用されます リクエストとレスポンスのメッセージには Google Ads API を使用します実装には ただし、C で書かれたものの方がパフォーマンスが優れています。

詳細については、Protobuf ガイドをご覧ください。

PHP インタープリタの動作モード

PHP は多目的なスクリプト言語 language があり、多くのオペレーションを モード。PHP CGI(コモン ゲートウェイ インターフェース)には、複数の Google サービス間で共有できる リソースを管理できます。

PHP のバージョン

新しい PHP バージョンに定期的にアップグレードすることをおすすめします。 全体的なパフォーマンスが向上しますサポートされている PHP のリスト バージョンをご覧ください。

未使用の Google Ads API バージョン

クライアント ライブラリのすべてのバージョンで、複数の Google Ads API バージョンがサポートされています。 クライアント ライブラリでサポートされている Google Ads API のバージョンごとに、 専用のパッケージを使用します。

使用されていない Google Ads API のバージョン専用のパッケージは、 クライアント ライブラリから安全に削除できます。画像処理のスピードアップに役立つため 実行したりメモリ フットプリントを削減したりする場合、クライアント ライブラリには できます。

最新のライブラリのみを使用するクライアント ライブラリを API バージョン: v17。未使用の API バージョン: v16v15

プロジェクトの composer.json ファイルで、Composer スクリプト(名前: remove-google-ads-api-version-support)で提供されるユーティリティを利用します。 クライアント ライブラリ、 ApiVersionSupport:

"scripts": {
  "remove-google-ads-api-version-support": [
    "Google\\Ads\\GoogleAds\\Util\\ApiVersionSupport::remove"
  ]
}

次に、バージョン番号をパラメータとして Composer スクリプトを使用し、 ステータス メッセージの例:

# Change the current directory to the project directory.
cd /path/to/the/project

# Install the project.
composer install

# Output the vendor folder size and the list of Google Ads API versions that are
# supported before removing support for Google Ads API versions.
echo "# Supported Google Ads API versions:"
find ./vendor/googleads/google-ads-php/src/Google/Ads/GoogleAds/V* -maxdepth 0 | grep -o '..$'
echo "# Vendor folder size:"
du -sh ./vendor

# Use the Composer script to remove the unused versions v15 and v16 of the Google Ads API.
echo "# Removing support..."
composer run-script remove-google-ads-api-version-support -- 15 16

# Output the vendor folder size and the list of Google Ads API versions that are
# supported after removing support for Google Ads API versions.
echo "# Supported Google Ads API versions:"
find ./vendor/googleads/google-ads-php/src/Google/Ads/GoogleAds/V* -maxdepth 0 | grep -o '..$'
echo "# Vendor folder size:"
du -sh ./vendor

以下の実行例の出力は、ファイルサイズが 50M 減少し、 残りのサポートされているバージョンは V17 のみです。

# Supported Google Ads API versions:
V15
V16
V17
# Vendor folder size:
110M    ./vendor
# Removing support...
> Google\Ads\GoogleAds\Util\ApiVersionSupport::remove
Removing support for the version 15 of Google Ads API...
Done
Removing support for the version 16 of Google Ads API...
Done
# Supported Google Ads API versions:
V17
# Vendor folder size:
60M     ./vendor

開発環境と本番環境

PHP は解釈言語です 命令を実行する前にまずコンパイルするという点です。これは通常 開発中には実行時にソースが変更されることが多いため、有利である それほど重要ではありません本番環境では逆に言えば 安定性とパフォーマンスが主な懸念事項となります。

キャッシュ

キャッシュは一般的に使用され、パフォーマンスの向上にもつながります。そのため、キャッシュを使用することを強くおすすめします。 プリコンパイルされたスクリプトの命令を格納することで安定性が向上します。

OPcache は最もよく使用される デフォルトで利用できます。

オートチャージ

オートチャージが一般的 読み込みによるパフォーマンスの向上と安定性の向上を クラスに関するプリコンパイルされた情報が含まれます。

PHP クライアント ライブラリは PSR-4 に準拠 定義を提供しており、インフラストラクチャの composer.json 表示されます。以下のような Composer の専用オプション たとえば --optimize-autoloader--classmap-authoritative は、 使用できます。

ロギング

ロガーを ERROR などの上位レベルに設定すると、実行時間を短縮できます。 メモリ消費を最適化できます

詳しくは、ロギングガイドをご覧ください。

デバッグとプロファイリング

デバッガとプロファイラ ツールは、通常提供されているため、無効にすることをおすすめします。 実行時間のオーバーヘッドが生じます

プリロード

PHP 7.4 以降、OPcache プリロード 使用してスクリプトをメモリにプリロードし、通常のスクリプトより キャッシュ保存について説明します。

この機能を利用するにはスクリプトを設計する必要がありますが、PHP では クライアント ライブラリには OPcache を実装する汎用的な方法がないため、 メモリ使用量とパフォーマンス向上のトレードオフが 特定のプロジェクトと実行に固有のものになります。