ISUCON10に参加して惨敗した。
「ISUCON10 参加チーム限定で New Relic 特別無料ライセンスを提供します。」とのことで
PHPアプリケーションをNew Relicで監視したかったが、当日できなかったためリベンジした。
まずは本サーバにインストールしてみる
本サーバはPHPパッケージを利用して動作している。
インストール手順に従うことで、PHPアプリケーションのデータを取得できた。
※ただし途中ライセンスキーとアプリケーション名を聞かれたため、最後の置換コマンドは実行していない。
(コピペせず、apt-getではなくaptを利用したからかも)
ISUCONサーバにインストールしてみる
ISUCONではPHPパッケージを利用しておらず、ISUCON専用PHPが動作している。
そしてPHPモジュールは/home/isucon/local/php/lib/php/extensionsにて管理されている。
# /home/isucon/local/php/bin/php -v PHP 7.4.9 (cli) (built: Sep 11 2020 11:19:26) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.9, Copyright (c), by Zend Technologies with Xdebug v2.9.6, Copyright (c) 2002-2020, by Derick Rethans # /home/isucon/local/php/bin/php -i | grep "^extension_dir" extension_dir => /home/isucon/local/php/lib/php/extensions/no-debug-non-zts-20190902 => /home/isucon/local/php/lib/php/extensions/no-debug-non-zts-20190902
ここにnewrelicのPHPモジュールを配置することで、PHPアプリケーションのデータを取得できた。
# echo 'deb http://apt.newrelic.com/debian/ newrelic non-free' | sudo tee /etc/apt/sources.list.d/newrelic.list # wget -O- https://download.newrelic.com/548C16BF.gpg | sudo apt-key add - # apt-get update # apt-get -y install newrelic-php5 # cd /home/isucon/local/php/lib/php/extensions/no-debug-non-zts-20190902/ # ln -s /usr/lib/newrelic-php5/agent/x64/newrelic-20190902.so newrelic.so # chown -R isucon:isucon newrelic.so # vi /home/isucon/local/php/etc/conf.d/newrelic.ini extension = "newrelic.so" [newrelic] newrelic.license = "d5exxxxxxxxxxx" newrelic.appname = "Isucon10" newrelic.daemon.logfile = "/home/isucon/local/php/var/lognewrelic-daemon.log" # chown isucon:isucon /home/isucon/local/php/etc/conf.d/newrelic.ini # systemctl restart isuumo.php.service
当日悩みの種だった nazzote に時間がかかっていることが一瞬でわかった。
おまけ
ここ数年参加しており「あれってどうだったんだろう、でも環境ないし、確認できないな」ということ何回かありました。
今回はCyberAgentさんやNew Relicさん、運営さんのご好意のおかげで、鉄を熱いうちに打つことができました。ただただ感謝。