Cara Deployment Lebih Cepat
Banyak pengguna mungkin merasa NocoBase berjalan lebih lambat dari yang diharapkan setelah deployment. Hal ini sering kali disebabkan oleh lingkungan jaringan, konfigurasi server, atau arsitektur deployment. Sebelum membahas teknik optimasi, mari kita lihat dulu nilai referensi kecepatan muat NocoBase yang normal untuk menghindari kekhawatiran yang tidak perlu.
Referensi Kecepatan Muat Normal NocoBase
Berikut adalah kecepatan muat yang diuji di lingkungan demo NocoBase:
- Waktu yang dibutuhkan untuk masuk ke aplikasi pertama kali dengan memasukkan URL: sekitar 2 detik
- Waktu yang dibutuhkan untuk berpindah halaman di dalam aplikasi: sekitar 50-300 milidetik
Selanjutnya, saya akan berbagi serangkaian teknik optimasi deployment yang sederhana namun efektif, yang dapat meningkatkan kecepatan akses secara signifikan hanya dengan menyesuaikan pengaturan deployment, tanpa perlu mengubah kode apa pun:
I. Optimasi Jaringan dan Infrastruktur
1. Versi Protokol HTTP: Mudah Beralih ke HTTP/2
【Prasyarat】
- Dukungan HTTPS Diperlukan: Ini penting! Hampir semua browser modern hanya mendukung HTTP/2 melalui koneksi HTTPS, jadi Anda harus mengonfigurasi sertifikat SSL terlebih dahulu.
- Persyaratan Server: Anda perlu menggunakan perangkat lunak server yang mendukung HTTP/2, seperti Nginx 1.9.5+ atau Apache 2.4.17+.
- Versi TLS: TLS 1.2 atau lebih tinggi direkomendasikan (TLS 1.3 adalah yang terbaik), karena versi SSL lama tidak mendukung HTTP/2.
【Tips】
Protokol HTTP/1.1 tradisional memiliki keterbatasan saat menangani banyak permintaan—biasanya hanya 6-8 koneksi secara bersamaan, mirip seperti antre membeli tiket, yang mudah menyebabkan keterlambatan.

HTTP/2 menggunakan teknologi "multiplexing" untuk menangani banyak permintaan secara bersamaan, sehingga sangat mempercepat pemuatan sumber daya; sementara HTTP/3 yang terbaru bahkan tampil lebih baik di jaringan yang tidak stabil, dengan hasil yang sangat baik.

【Saran Optimasi】
- Pastikan server web Anda mengaktifkan dukungan HTTP/2, yang mudah dikonfigurasi di sebagian besar server (seperti Nginx, Caddy).
- Di Nginx, cukup tambahkan parameter
http2setelah direktif listen:
【Verifikasi】
Di panel developer browser Anda, buka opsi "Network", klik kanan dan centang "Protocol" untuk melihat versi protokol koneksi saat ini:

Berdasarkan pengujian kami, kecepatan keseluruhan meningkat sekitar 10%, dengan peningkatan performa yang lebih signifikan saat sistem memiliki banyak block dan sumber daya.
2. Bandwidth Jaringan: Semakin Besar Semakin Baik, dengan Penagihan Fleksibel
【Tips】
Sama seperti jalan tol yang lebih lancar daripada jalan biasa, bandwidth menentukan efisiensi transmisi data. Saat NocoBase dimuat untuk pertama kalinya, ia perlu mengunduh banyak sumber daya frontend, dan bandwidth yang tidak memadai dengan mudah menjadi hambatan.
【Saran Optimasi】
- Pilih bandwidth yang cukup (direkomendasikan 50Mbps+ untuk banyak pengguna), jangan pelit pada sumber daya penting ini.
- Disarankan menggunakan penagihan "bayar sesuai pemakaian": banyak penyedia cloud menawarkan model fleksibel ini, yang memungkinkan Anda menikmati bandwidth lebih tinggi saat jam sibuk sambil tetap mengendalikan biaya selama penggunaan normal.
3. Latensi Jaringan dan Lokasi Geografis Server: Semakin Dekat Semakin Cepat
【Tips】
Latensi adalah waktu tunggu untuk transmisi data. Bahkan dengan bandwidth yang cukup, jika server terlalu jauh dari pengguna (misalnya pengguna di Cina tetapi server di AS), setiap respons permintaan bisa melambat karena jarak yang jauh.
【Saran Optimasi】
- Usahakan men-deploy NocoBase di wilayah yang lebih dekat dengan basis pengguna utama Anda.
- Jika pengguna Anda tersebar secara global, pertimbangkan untuk menggunakan layanan akselerasi global (seperti Alibaba Cloud Global Accelerator atau AWS Global Accelerator) untuk mengoptimalkan routing jaringan dan mengurangi latensi.
【Verifikasi】
Gunakan perintah ping untuk menguji latensi dari berbagai wilayah.
Pendekatan ini menunjukkan peningkatan yang paling jelas, dengan kecepatan akses yang meningkat 1-3 kali lipat atau lebih tergantung wilayahnya.
Lintas 12 zona waktu, 13 detik:

Lintas 2 zona waktu, 8 detik:

Wilayah yang sama, sekitar 3 detik:

II. Optimasi Arsitektur Deployment
4. Metode Deployment Server dan Proxy: Pilih Arsitektur yang Paling Sesuai
【Prasyarat】
- Hak Akses Server: Anda memerlukan akses root atau sudo untuk mengonfigurasi layanan seperti Nginx.
- Keterampilan Dasar: Diperlukan pengetahuan dasar tentang konfigurasi server, tetapi jangan khawatir, contoh konfigurasi spesifik akan disediakan.
- Akses Port: Pastikan firewall Anda mengizinkan akses ke port 80 (HTTP) dan 443 (HTTPS).
【Tips】
Saat pengguna mengakses NocoBase, permintaan langsung menuju server Anda. Metode deployment yang tepat memungkinkan server Anda menangani permintaan secara lebih efisien, memberikan respons yang lebih cepat.
【Berbagai Solusi dan Rekomendasi】
Menjalankan NocoBase tanpa menggunakan reverse proxy untuk sumber daya statis (tidak direkomendasikan):
- Kekurangan: Metode ini sederhana tetapi performanya buruk saat menangani konkurensi tinggi atau file statis; hanya cocok untuk development dan testing.
- Rekomendasi: Mohon hindari metode ini jika memungkinkan.
Lihat "Dokumentasi Instalasi"
Tanpa reverse proxy, pemuatan halaman utama memakan waktu sekitar 6,1 detik

Menggunakan Nginx / Caddy sebagai reverse proxy (sangat direkomendasikan):
- Kelebihan: Server reverse proxy dapat menangani koneksi konkuren secara efisien, menyajikan file statis, menerapkan load balancing, dan membuat konfigurasi HTTP/2 menjadi sederhana.
- Rekomendasi: Di lingkungan produksi, setelah deployment aplikasi (deployment dari source code / create-nocobase-app / Docker image), gunakan Nginx atau Caddy sebagai reverse proxy.
Lihat "Dokumentasi Deployment"
Dengan proxy Nginx, pemuatan halaman utama memakan waktu sekitar 3-4 detik


Menggunakan deployment cluster dengan load balancing (cocok untuk skenario konkurensi tinggi dan ketersediaan tinggi):
- Kelebihan: Dengan men-deploy beberapa instance untuk menangani permintaan, Anda dapat meningkatkan stabilitas sistem secara keseluruhan dan kapasitas konkurensi secara signifikan.
- Untuk metode deployment spesifik, lihat Cluster Mode
5. Menggunakan CDN untuk Mempercepat Sumber Daya Statis
【Prasyarat】
- Persyaratan Domain: Anda memerlukan nama domain terdaftar dan kemampuan untuk mengelola pengaturan DNS-nya.
- Sertifikat SSL: Sebagian besar layanan CDN memerlukan konfigurasi sertifikat SSL (Anda bisa menggunakan sertifikat Let's Encrypt gratis).
- Pemilihan Layanan: Pilih penyedia CDN yang sesuai berdasarkan wilayah pengguna (pengguna di Cina daratan memerlukan CDN dengan izin ICP).
【Tips】 CDN (Content Delivery Network) menyimpan sumber daya statis Anda di node-node di seluruh dunia, memungkinkan pengguna mendapatkan sumber daya dari node terdekat, seperti mengambil air dari sumber yang dekat, yang sangat mengurangi keterlambatan pemuatan.
Selain itu, keunggulan terbesar CDN adalah kemampuannya untuk secara signifikan mengurangi beban dan tekanan bandwidth pada server aplikasi Anda. Saat banyak pengguna mengakses NocoBase secara bersamaan tanpa CDN, semua permintaan sumber daya statis (JavaScript, CSS, gambar, dll.) langsung menuju server Anda, yang berpotensi menyebabkan kejenuhan bandwidth, penurunan performa, atau bahkan server crash. Dengan mengalihkan permintaan ini ke CDN, server Anda dapat fokus memproses logika bisnis inti, memberikan pengalaman yang lebih stabil bagi pengguna.

【Saran Optimasi】• Konfigurasikan server Anda untuk mendistribusikan permintaan sumber daya statis melalui CDN.• Pilih penyedia CDN yang sesuai berdasarkan lokasi pengguna:
- Pengguna global: Cloudflare, Akamai, AWS CloudFront;
- Pengguna Cina daratan: Alibaba Cloud CDN, Tencent Cloud CDN, Baidu Cloud Acceleration. Contoh konfigurasi:
- Untuk proyek kecil, paket gratis Cloudflare dapat menyediakan akselerasi CDN yang baik:
- Daftarkan akun Cloudflare dan tambahkan domain Anda;
- Modifikasi DNS untuk mengarahkan domain Anda ke server Cloudflare;
- Atur level cache yang sesuai di panel kontrol.
Catatan Khusus: Bahkan jika semua pengguna Anda berada di wilayah yang sama, tetap sangat direkomendasikan untuk menggunakan CDN karena secara efektif mengurangi beban server, meningkatkan stabilitas sistem secara keseluruhan, terutama saat periode trafik tinggi.
III. Optimasi Sumber Daya Statis
6. Kompresi Server dan Konfigurasi Cache
【Prasyarat】
- Sumber Daya CPU: Kompresi meningkatkan beban CPU server, sehingga server Anda harus memiliki daya pemrosesan yang cukup.
- Dukungan Modul Nginx: Kompresi Gzip umumnya sudah built-in, tetapi kompresi Brotli mungkin memerlukan instalasi modul tambahan.
- Hak Akses Konfigurasi: Anda memerlukan izin untuk memodifikasi konfigurasi server.
【Tips】
Dengan mengaktifkan kompresi dan menerapkan strategi cache yang masuk akal, Anda dapat secara signifikan mengurangi volume transfer data dan permintaan berulang, pada dasarnya "merampingkan" sumber daya Anda agar kecepatan pemuatan melesat.

【Saran Optimasi】
- Solusi paling sederhana: Gunakan layanan CDN gratis Cloudflare, yang secara otomatis mengaktifkan kompresi Gzip.
- Aktifkan kompresi Gzip atau Brotli, yang dapat diatur di Nginx seperti ini:
- Atur header cache yang sesuai untuk sumber daya statis guna mengurangi pemuatan berulang:
7. Menggunakan SSL/TLS dan Mengoptimalkan Performa
【Prasyarat】
- Sertifikat SSL: Anda memerlukan sertifikat SSL yang valid (Anda bisa menggunakan sertifikat Let's Encrypt gratis).
- Hak Akses Konfigurasi Server: Anda harus dapat memodifikasi konfigurasi SSL.
- Konfigurasi DNS: Konfigurasikan DNS resolver yang andal untuk OCSP Stapling.
【Tips】
Keamanan selalu menjadi prioritas utama, tetapi konfigurasi HTTPS yang tidak tepat dapat menambah beberapa keterlambatan. Berikut beberapa trik optimasi untuk membantu Anda mempertahankan performa tinggi sambil menjaga keamanan.
【Saran Optimasi】
- Gunakan TLS 1.3, yang saat ini merupakan versi TLS tercepat. Konfigurasi di Nginx:
- Aktifkan OCSP Stapling untuk mengurangi waktu verifikasi sertifikat:
- Kurangi waktu handshake berulang melalui penggunaan ulang sesi:
【Efek Optimasi Lintas Wilayah】 Catatan Khusus: Berikut menunjukkan efek optimasi dalam skenario lintas wilayah/lintas 12 zona waktu, yang secara mendasar berbeda dengan skenario akses lokal (sekitar 3 detik) yang disebutkan sebelumnya. Latensi jaringan yang disebabkan oleh jarak geografis tidak dapat dihindari, tetapi optimasi tetap dapat meningkatkan kecepatan secara signifikan:
Dengan Http2 + caching CDN + kompresi Gzip + kompresi Brotli digabungkan:
Sebelum optimasi (akses lintas wilayah), 13 detik:
Setelah optimasi (akses lintas wilayah), 8 detik:

Contoh ini menunjukkan bahwa bahkan ketika lokasi geografis berjauhan, langkah-langkah optimasi yang tepat tetap dapat mengurangi waktu muat sekitar 40%, meningkatkan pengalaman pengguna secara signifikan.
IV. Monitoring dan Pemecahan Masalah
8. Monitoring Performa dan Analisis Dasar
【Prasyarat】
- Aksesibilitas: Situs Anda harus dapat diakses publik untuk menggunakan sebagian besar alat pengujian online.
- Keterampilan Dasar: Anda perlu memahami arti dasar metrik performa, meskipun kami akan menjelaskan setiap indikator utama.
【Tips】
Sulit untuk mengoptimalkan secara tepat tanpa mengetahui di mana bottleneck-nya. Kami merekomendasikan penggunaan beberapa alat gratis untuk memantau performa situs guna membantu mengidentifikasi masalah.
【Saran Optimasi】
Gunakan alat gratis berikut untuk memeriksa performa situs:
Fokus pada metrik utama ini:
- Waktu muat halaman
- Waktu respons server
- Waktu resolusi DNS
- Waktu handshake SSL
Solusi masalah umum:
- Resolusi DNS lambat? Pertimbangkan untuk mengganti layanan DNS atau mengaktifkan pre-resolution DNS.
- Handshake SSL lambat? Optimalkan konfigurasi SSL, aktifkan penggunaan ulang sesi.
- Respons server lambat? Periksa sumber daya server, lakukan upgrade jika perlu.
- Pemuatan sumber daya statis lambat? Coba terapkan CDN dan sesuaikan strategi cache.
Checklist Cepat Optimasi Deployment
Checklist berikut dapat membantu Anda dengan cepat memeriksa dan mengoptimalkan deployment NocoBase Anda:
-
Pemeriksaan Versi HTTP
- HTTPS diaktifkan (prasyarat untuk HTTP/2)
- HTTP/2 diaktifkan
- Pertimbangkan mendukung HTTP/3 jika kondisinya memungkinkan
-
Penilaian Bandwidth
- Bandwidth server yang cukup (direkomendasikan minimal 10Mbps, 50Mbps+ lebih disukai)
- Pertimbangkan model penagihan bayar sesuai pemakaian daripada bandwidth tetap
-
Pemilihan Lokasi Server
- Lokasi server harus dekat dengan wilayah pengguna
- Pertimbangkan menggunakan layanan akselerasi global untuk pengguna di seluruh dunia
-
Arsitektur Deployment
- Gunakan Nginx/Caddy sebagai reverse proxy untuk memisahkan sumber daya statis dari API
- Jika perlu, terapkan deployment multi-instance dan teknologi load balancing
-
Penerapan CDN
- Percepat distribusi sumber daya statis melalui CDN
- Konfigurasikan strategi cache yang sesuai
- Pastikan CDN mendukung HTTP/2 atau HTTP/3
-
Kompresi dan Caching
- Aktifkan kompresi Gzip atau Brotli
- Atur header cache browser yang sesuai
-
Optimasi SSL/TLS
- Gunakan TLS 1.3 untuk meningkatkan kecepatan handshake
- Aktifkan OCSP Stapling
- Konfigurasikan penggunaan ulang sesi SSL
-
Monitoring Performa
- Gunakan alat pengujian performa secara berkala untuk mengevaluasi situs Anda
- Pantau metrik utama (waktu muat, respons, resolusi, handshake)
- Optimalkan berdasarkan masalah yang teridentifikasi
Pertanyaan yang Sering Diajukan
【T】Server saya di-deploy di wilayah yang berbeda dengan pengguna saya, menyebabkan akses lambat. Apa yang harus saya lakukan?
【J】Solusi terbaik adalah memilih server cloud di wilayah yang sama dengan pengguna utama Anda. Jika itu tidak memungkinkan, Anda juga bisa:
- Menggunakan layanan CDN untuk mempercepat sumber daya statis;
- Memanfaatkan layanan akselerasi global untuk mengoptimalkan routing jaringan;
- Mengaktifkan semua tindakan kompresi dan optimasi cache sebanyak mungkin.
【T】Mengapa NocoBase saya lambat saat pertama kali dimuat tetapi cepat setelahnya?
【J】Pemuatan pertama yang lambat adalah hal yang normal karena perlu mengunduh banyak sumber daya pada awalnya.
Menggunakan Demo resmi kami sebagai contoh, pemuatan pertama biasanya memakan waktu sekitar 3 detik. Akses harian berikutnya saat memasukkan URL memakan waktu sekitar 1-2 detik, sedangkan navigasi antar halaman di dalam aplikasi sangat cepat sekitar 50-300 milidetik, dengan latensi yang sangat rendah.

Untuk waktu pemuatan yang terlalu lama, masih ada ruang untuk optimasi:
- Pastikan HTTP/2 diaktifkan;
- Terapkan akselerasi CDN;
- Aktifkan kompresi Gzip/Brotli;
- Periksa apakah bandwidth server cukup.
【T】Saat ini saya menggunakan shared hosting dan tidak dapat memodifikasi konfigurasi Nginx. Apa yang harus saya lakukan?
【J】Dalam kasus ini, meskipun opsi optimasi lebih sedikit, kami tetap merekomendasikan:
- Coba gunakan layanan CDN (seperti Cloudflare);
- Optimalkan parameter yang dapat disesuaikan di dalam aplikasi;
- Jika kondisinya memungkinkan, pertimbangkan untuk meng-upgrade ke VPS yang mendukung lebih banyak konfigurasi kustom.
Melalui strategi optimasi deployment yang sederhana namun praktis ini, Anda dapat meningkatkan kecepatan akses NocoBase secara signifikan dan memberikan pengalaman yang lebih lancar kepada pengguna. Banyak tindakan optimasi dapat diselesaikan dalam beberapa jam, tidak memerlukan perubahan kode, dan dengan mudah menunjukkan hasilnya.
Operasi harian:


