Saya membuat dua aplikasi Heroku yang sangat sederhana untuk menguji layanan, tetapi sering kali butuh beberapa detik untuk memuat halaman ketika saya pertama kali mengunjunginya:
- Cropify - Aplikasi Sinatra Dasar ( di github )
- Textile2HTML - Aplikasi Sinatra yang lebih mendasar ( di github )
Yang saya lakukan hanyalah membuat aplikasi Sinatra sederhana dan menerapkannya. Saya belum melakukan apa pun untuk mengacaukan atau menguji server Heroku. Apa yang dapat saya lakukan untuk meningkatkan waktu respons? Ini sangat lambat sekarang dan saya tidak yakin harus mulai dari mana. Kode untuk proyek ada di github jika itu membantu.
sumber
Anda mungkin juga ingin menyelidiki opsi cache yang Anda miliki di Heroku w / Varnish dan Memcached. Ini dipertahankan terlepas dari dino.
Misalnya, jika Anda memiliki beranda yang tidak berubah, Anda dapat menyimpannya dalam cache untuk waktu yang lama di Varnish dengan menambahkan header Kontrol-Cache ke respons. Kemudian pengguna Anda tidak akan mengalami beban yang dipukul sampai mereka ingin "melakukan sesuatu" daripada saat mereka tiba.
sumber
Anda harus memeriksa jawaban Tom Robinson untuk "Skalabilitas: Bagaimana Cara Kerja Heroku?" di Quora: http://www.quora.com/Scalability/How-does-Heroku-work
Heroku membagi sumber daya server di antara banyak pelanggan / aplikasi yang berbeda. Aplikasi Anda diberi alokasi blok daya komputasi. Partisi Heroku berdasarkan permintaan sumber daya. Ketika Anda memiliki aplikasi populer yang menuntut lebih banyak daya, Anda dapat membayar lebih banyak 'dynos' (wadah aplikasi) dan kemudian mendapatkan potongan kue yang lebih besar sebagai gantinya.
Namun dalam kasus Anda, Anda menjalankan aplikasi gratis yang hanya sedikit orang - jika ada di luar Anda - yang mengunjungi / menggunakan. Oleh karena itu, Heroku mengurangi sumber daya yang Anda peroleh dengan membongkar aplikasi Anda - pada dasarnya dalam mode hibernasi - sampai ada permintaan yang dibuat ke alamat Anda. Jika itu terjadi, dan aplikasi Anda sudah lama tidak digunakan, perlu waktu untuk memuat ulang.
Tambahkan 1 dyno ekstra agar aplikasi Anda tidak tertidur, jika waktu muat ulang itu penting.
sumber
Saya mengalami masalah yang sama. Saya menerapkan aplikasi Rails 3 (1.9.2) tadi malam dan lambat. Saya tahu bahwa 1.9.2 / Rails 3 ada dalam BETA di Heroku tetapi tiket dukungan mengatakan seharusnya baik-baik saja menggunakan beberapa instruksi yang mereka kirimkan kepada saya.
Saya memahami bahwa permintaan pertama setelah waktu yang lama membutuhkan waktu yang paling lama. Masuk akal. Tetapi hanya memuat halaman yang bahkan tidak terhubung ke DB membutuhkan waktu 10 detik terkadang sangat buruk.
Bagaimanapun, Anda mungkin ingin mencoba apa yang akan saya lakukan. Itu profil aplikasi saya dan lihat berapa lama waktu yang dibutuhkan secara lokal. Jika butuh 400ms maka ada sesuatu yang salah. Tetapi jika saya mendapatkan 50ms secara lokal dan masih membutuhkan 10 detik di Heroku maka pasti ada sesuatu yang salah.
Jelas, caching membantu tetapi Anda hanya mendapatkan 5MB secara gratis dan sekali lagi, dengan SATU orang menggunakan situs ini, seharusnya tidak selambat itu.
sumber