Saya akan setuju dengan orang lain. Anda harus membuat profil. Tidak ada gunanya melakukan apa pun pada kode Anda sampai Anda tahu apa yang secara spesifik menyebabkan kelambatan. Mencoba memperbaiki masalah tanpa memahami penyebabnya adalah seperti merasa sakit dan memutuskan untuk menjalani banyak operasi sampai Anda merasa lebih baik. Diagnosis masalah Anda terlebih dahulu. Mungkin sesuatu yang kecil seperti pengaturan jaringan atau bisa jadi satu baris yang buruk dalam kode Anda.
Beberapa tips untuk membuat profil:
Cara Membuat Profil Aplikasi Rails Anda
Aplikasi Rel Pengujian Kinerja
At the Forge - Aplikasi Profiling Rails
Setelah menemukan hambatannya, Anda dapat mencari tahu apa yang harus dilakukan.
Saya merekomendasikan video ini:Rel Penskalaan Railslab
Direvisi sekarang berdasarkan hasil prof:
OKE. Sekarang Anda dapat melihat bahwa masalah Anda adalah bahwa Anda melakukan semacam perhitungan menggunakan kueri berdasarkan perulangan melalui hasil kueri rekaman aktif lainnya. Saya menyarankan Anda untuk melihat membangun pernyataan SQL khusus yang menggabungkan kriteria pemilihan awal dan perhitungan loop untuk mendapatkan apa yang Anda butuhkan. Anda pasti dapat mempercepat ini dengan mengoptimalkan SQL.