HomesteadでPHP 7.1でSymfony 3. *のインスタンスを実行していて、最近NFSの同期が狂ってしまったので、インストール全体のパフォーマンスを大幅に低下させました。Symfony/var/cacheと/ var/logsにRedisを使用
ロギングとキャッシングを完全にディスパッチできるかどうかは、構成や回避策によって何らかの方法で通常は./var/
になりますか?
HomesteadでPHP 7.1でSymfony 3. *のインスタンスを実行していて、最近NFSの同期が狂ってしまったので、インストール全体のパフォーマンスを大幅に低下させました。Symfony/var/cacheと/ var/logsにRedisを使用
ロギングとキャッシングを完全にディスパッチできるかどうかは、構成や回避策によって何らかの方法で通常は./var/
になりますか?
ロギングを変更して無効にしたり、無効にしたり、ファイルに書き込まないようにして、代わりにRedisなどのソースに送信することができます。 Monologが使用できる多くのオプションのターゲットがあります。通常、サポートライブラリと設定があります。
キャッシュされたファイルは他の場所に書き込まれるようには設計されていません。それらはディスクに書き込まれているため、OpCacheによってキャッシュされます。
ただし、var/*
を実際のディスクに書き込む必要はありません。共有メモリがあれば、RAMディスク(tmpfsとも呼ばれます)として使用できます。アプリは非常に簡単にそれを使用するように変更することができます - ファイルをキャッシュするために、および/またはログ:
class AppKernel extends Kernel
{
// ...
public function getCacheDir()
{
if (in_array($this->environment, array('dev', 'test'))) {
return '/dev/shm/appname/cache/' . $this->environment;
}
return parent::getCacheDir();
}
public function getLogDir()
{
if (in_array($this->environment, array('dev', 'test'))) {
return '/dev/shm/appname/logs';
}
return parent::getLogDir();
}
}
出典:http://www.whitewashing.de/2013/08/19/speedup_symfony2_on_vagrant_boxes.htmlhttps://stackoverflow.com/a/10784563
経由