Menghapus cache itu sendiri tidak memakan waktu lama, karena itu hanya memotong tabel cache. Apa yang paling memakan waktu adalah membangun kembali registri cache setelah itu. Biasanya ini adalah registry tema yang memindai semua kait baru dan semua folder Drupal Anda untuk file template baru, sistem yang memindai file untuk modul baru dan file kelas, dan yang serupa.
Anda selalu dapat menghapus cache spesifik dengan menentukan drush cc theme-registry
atau lainnya.
Sangat disarankan agar Anda menggunakan mekanisme caching PHP (mis. OPCache, XCache, dll.) Untuk mempercepat pemrosesan. Dan cache berbasis memori untuk menggantikan penggunaan yang berat pada tabel SQL (misalnya memcached atau redis), jadi membersihkan cache tidak akan memakan waktu, hanya dengan membersihkan cache (misalnya echo flush_all > /dev/tcp/127.0.0.1/11211
dalam Bash).
Atau Anda selalu dapat menghapus cache secara manual , misalnya dengan:
echo "SHOW TABLES LIKE 'cache%'" | $(drush sql-connect) | tail -n +2 | xargs -L1 -I% echo "DELETE FROM %;" | $(drush sql-connect) -v
Debugging
Untuk memeriksa apa yang paling memakan waktu khusus, Anda perlu men - debug / profil itu (misalnya XDebug, XHProf, phpdbg, dtrace).
Pada OS X / Unix, ini dapat dicapai dengan dtrace
(setelah menjalankan drush
):
sudo dtrace -qn 'php*:::function-entry { printf("%Y: PHP function-entry:\t%s%s%s() in %s:%d\n", walltimestamp, copyinstr(arg3), copyinstr(arg4), copyinstr(arg0), basename(copyinstr(arg1)), (int)arg2); }'
Di Linux, gunakan strace
, mis
strace -e trace=sendto,recvfrom -s1000 -p $(pgrep php)
Untuk mencari beberapa hal tertentu, coba tambahkan misalnya: strace ... 2>&1 | grep -C5 UPDATE
.