2 poin oleh GN⁺ 2025-11-04 | 3 komentar | Bagikan ke WhatsApp
  • Bahkan setelah Nextcloud dioptimalkan di server pribadi, penyebab respons yang tetap lambat adalah struktur pemuatan JavaScript yang berlebihan
  • Saat pemuatan halaman awal, 15~20MB JavaScript diunduh, dan bahkan setelah dikompresi masih berada di kisaran 4~5MB sehingga tetap terlalu berat
  • Ukuran skrip per aplikasi juga sangat besar, seperti core-common.js (4.71MB), NotificationsApp.chunk.mjs (1.06MB), aplikasi Calendar 5.94MB, aplikasi Files 18.8MB, dan aplikasi Notes 20.91MB
  • Struktur ini menyebabkan penundaan 5~10 detik saat menjalankan aplikasi Tasks bahkan di iPhone 13 mini
  • Beberapa fungsi digantikan dengan Vikunja (1.5MB JS) dan Immich, tetapi karena sifat terintegrasi Nextcloud, penggantian total tetap sulit

Penyebab penurunan performa Nextcloud

  • Nextcloud menyediakan berbagai fungsi terintegrasi seperti file, kalender, kontak, catatan, tugas, dan foto, tetapi kecepatan yang dirasakan pengguna terasa lambat
    • Bahkan di lingkungan dengan performa perangkat keras yang memadai, respons tetap terasa lambat
  • Hasil analisis alat pengembang menunjukkan bahwa penyebab utama keterlambatan adalah jumlah JavaScript yang berlebihan
    • Saat pemuatan halaman awal, 15~20MB JavaScript diunduh
    • Bahkan setelah transmisi terkompresi, ukurannya masih sekitar 4~5MB, jauh lebih besar dibanding standar web app umum (1MB)
  • Meskipun cache browser tersedia, eksekusi kode dalam jumlah besar tetap diperlukan pada setiap kunjungan, sehingga menimbulkan keterlambatan saat memuat
Iklan

Ukuran bundle JavaScript utama

  • core-common.js : 4.71MB, menyediakan fungsi umum untuk berbagai aplikasi
  • NotificationsApp.chunk.mjs : 1.06MB
  • Aplikasi Calendar: hanya untuk tampilan kalender dasar saja membutuhkan 5.94MB
    • Dalam kondisi jaringan lambat, keterlambatan pemuatan lebih dari 30 detik dapat terjadi
  • Aplikasi Files: mencakup banyak skrip seperti EditorOutline (1.77MB), previewUtils (1.17MB), index (1.09MB), dan emoji-picker (0.9MB)
    • Totalnya 18.8MB, dan dalam lingkungan nyata bisa membuat pengguna menunggu lebih dari 1 menit
  • Aplikasi Notes: notes-main.js saja sudah 4.36MB, dengan total sekitar 20.91MB

Dampak terhadap pengalaman pengguna

  • Saat menjalankan aplikasi Tasks juga terjadi penundaan 5~10 detik
    • Contoh: saat membuka daftar belanja di toko, daftar tidak langsung tampil
    Iklan
  • Rasio ukuran bundle terhadap fungsi yang diberikan sangat tinggi secara tidak wajar, sehingga terjadi ketidakseimbangan antara fungsionalitas dan performa
  • Karena struktur Nextcloud memiliki banyak library dan alat umum, penurunan performa terjadi sebagai harga dari pengalaman terintegrasi

Pemanfaatan layanan alternatif

  • Beberapa fungsi dijalankan secara terpisah dengan Vikunja (manajemen tugas, 1.5MB JS) dan Immich (manajemen foto)
    • Vikunja memang tidak sempurna, tetapi karena ukuran JS-nya kecil, kecepatan yang dirasakan lebih baik
  • Namun, berkat integrasi dan kemudahan dari Nextcloud, penggantian sepenuhnya tetap sulit

Kesimpulan dan perubahan persepsi

  • Pada struktur Nextcloud saat ini, mungkin ada kendala nyata seperti alasan yang dapat dibenarkan atau kekurangan tenaga
  • Meski begitu, penurunan pengalaman pengguna dan aksesibilitas tetap ditunjukkan sebagai masalah yang jelas
  • Melalui tulisan pakar performa web Alex Russell, penulis menjadi menyadari pentingnya performa web serta masalah kelalaian tim pengembang dalam mengelola performa dan aksesibilitas
  • Dalam pengembangan web app, masalah performance inequality perlu dipertimbangkan

3 komentar

 
ndrgrd 2025-11-04

Memang lambat. Bukan cuma kliennya yang lambat, servernya juga lambat.
Di mesin 8745HS, membuat thumbnail untuk ratusan file PDF butuh berjam-jam dan tetap tidak selesai.
Lebih baik pakai server file lain apa saja. Kalau kliennya Windows, pakai smb, sisanya lebih enak pakai server WebDAV dengan rclone atau dufs.

 
yeorinhieut 2025-11-05

copyparty lumayan bagus.

 
GN⁺ 2025-11-04
Opini Hacker News
  • Saya ingin menyukai Nextcloud. Menurut saya keberadaannya sendiri sudah luar biasa
    Tapi meski kelihatannya berjalan baik, sesekali muncul error yang tidak bisa dipulihkan hingga semuanya rusak total
    Saya mencoba mencadangkan foto keluarga secara otomatis lewat aplikasi iOS/Android, tetapi aplikasi iOS kadang memunculkan error “locked webdav” atau sinkronisasinya berhenti
    Akhirnya saya pernah berada dalam situasi harus mengunggah ulang 80GB foto dari awal
    Terlalu tidak stabil untuk dipakai keluarga, jadi saya butuh alternatif yang andal. Praktis tidak ada alternatif selain iCloud

    • Aplikasi iOS pernah terputus dari akun saat berjalan di latar belakang dan menyebabkan kehilangan data
      Saya menempelkan file lewat integrasi aplikasi Files, tetapi sinkronisasi tidak berjalan dan datanya hilang tanpa peringatan apa pun
    • Belakangan ada alternatif ultra-ringan buatan komunitas, copyparty
      copyparty GitHub — hanya punya fitur yang dibutuhkan tanpa beban berlebih yang tidak perlu
    • Untuk kebutuhan backup foto, Immich memberi pengalaman yang jauh lebih baik
      Tapi sebagai pengganti Dropbox, tetap belum ada opsi yang benar-benar pas
    • Untuk urusan foto, saya rasa Immich adalah yang terbaik
    • Untuk upload dari ponsel saya beralih ke FolderSync, dan hasilnya bekerja sempurna
      Aplikasi resminya penuh bug, tetapi sisi server stabil
  • Nextcloud lambat karena terlalu banyak pemanggilan JavaScript
    Saat me-refresh halaman kalender, terjadi 124 panggilan jaringan, dan 31 di antaranya tidak di-cache
    Setiap kalender memakan waktu lebih dari 30ms, jadi makin banyak kalender, makin menumpuk pula latensinya
    Di jaringan lokal butuh 1 detik, di 4G bisa lebih dari 33 detik. Desainnya sendiri memang tidak efisien

    • File JS terlalu banyak, dan request AJAX juga terlalu banyak
      Struktur berbasis REST seperti ini memang mau tidak mau lambat di jaringan seluler karena latensi bolak-baliknya besar
      Menurut saya sekarang saatnya memakai WebSocket alih-alih REST
    • Dulu kalender Nextcloud benar-benar bagus, tetapi setelah redesign malah rusak total
      Menambah atau mengubah jadwal jadi merepotkan dan UI-nya terasa kekanak-kanakan. Tidak ada web calendar open source yang benar-benar layak pakai
    • Untuk menyelesaikan masalah seperti ini, protokol sinkronisasi data perlu ditingkatkan
      Pendekatan seperti Electric SQL terasa menarik
      Selain itu, usulan perbaikan JS seperti TC39 import proposal juga mungkin membantu
  • Dulu saya pernah merawat soft fork dari Nextcloud, dan struktur dasarnya terlalu rumit
    Hanya dengan menerapkan beberapa patch peningkatan performa saja, kecepatan render file manager meningkat beberapa kali lipat
    Tapi codebase-nya adalah struktur berlapis-lapis yang ditumpuk di atas lapisan lain, jadi sulit dipercaya
    Pada akhirnya saya meninggalkan proyek itu. Kompleksitas seperti ini rasanya ikut menjaga hidup ekosistem penyedia hosting

    • Saya juga berpikir begitu. Nextcloud terjebak dalam jebakan modularitas
      Setiap fitur berawal sebagai plugin terpisah sehingga tidak ada integrasi yang menyatu
      Sekarang ia sudah menjadi monster tunggal, dan menurut saya lebih baik menghubungkan beberapa alat lewat SSO
    • Saya penasaran apakah patch-patch itu pernah dibagikan. Kalau peningkatan kecepatannya sebesar itu, sepertinya akan membantu komunitas
      Dan sebenarnya menjalankan Nextcloud tidak sesulit itu. Setelah sekali disetel, pemeliharaannya sederhana
  • Menurut saya penyebab lambatnya bukan ukuran JS seperti yang disebut artikel, melainkan logika yang tidak efisien
    Masalahnya adalah terlalu banyak pemanggilan API dan update UI

    • Kalau JS terlalu banyak, overhead dari parsing, eksekusi, manipulasi DOM, dan sebagainya akan terakumulasi besar
      Dulu kalau sudah lewat 200KB saja kami akan meninjau optimisasi, sementara Nextcloud mencapai 15MB
    • Bisa juga penyebabnya caching yang tidak berjalan baik, atau preloading yang tidak perlu
  • Saya sudah 7 tahun memakai Nextcloud untuk backup foto keluarga
    Privasinya bagus dan stabil, tetapi sebagai pengganti Google Docs saya sama sekali tidak akan merekomendasikannya
    Upload berukuran besar maupun loading thumbnail tidak stabil dan lambat
    Meski begitu tidak ada pengganti lain, dan saya tidak ingin menyerahkan data ke AI milik perusahaan besar
    Saya berharap keluarga saya mau lebih aktif memakainya

    • Saya penasaran apakah Immich bisa menjadi alternatif itu. Katanya kuat untuk pengelolaan foto dan video
  • Saya sudah mencoba berbagai file manager self-hosted
    Saya pernah memakai Ajaxplorer → Pydio → Nextcloud → FileRun, dan FileRun yang paling memuaskan
    Cepat, stabil, dan bekerja baik juga di browser mobile
    Sekarang memang berbayar, tetapi menurut saya sepadan
    copyparty juga ringan dan cepat, tetapi kurang ramah untuk pengguna umum
    Saya kangen fitur “file request” milik FileRun

    • Saya suka filebrowser. Jika dipakai bersama Syncthing, jadinya seperti mini Dropbox
      filebrowser GitHub
      filebrowser-docker
    • Di copyparty juga bisa membuat link upload serupa lewat fitur “shares(--shr)”
      tautan demo
    • copyparty hanya mendukung sinkronisasi satu arah, jadi sulit menjadi pengganti Nextcloud
      Saya ingin mencoba menggabungkannya dengan Syncthing, tetapi khawatir soal beban CPU
  • Nextcloud lambat dan gemuk, tetapi stabil
    Kami memakainya selama bertahun-tahun di perusahaan beranggotakan 8 orang tanpa masalah
    Web app-nya lambat sehingga hampir tidak kami pakai, dan kami lebih sering memakai klien sinkronisasi desktop
    Plugin autentikasi IMAP sangat berguna sehingga pengelolaan pengguna jadi mudah

    • Meski web app-nya dibilang lambat, web app tetap punya banyak kelebihan
      Bisa dikustomisasi sebebasnya dengan uBlock, userstyle, userscript, dan sebagainya
  • Dulu saya pernah menemukan dan melaporkan kerentanan PDF viewer di Nextcloud
    Masalahnya karena mereka menyertakan PDF viewer berbasis JS versi lama, dan saat berusia 16 tahun saya menerima $100
    Tulisan blog saya

    • Saya juga pernah mencoba menampilkan PDF di dalam div di aplikasi, tetapi akhirnya tetap harus memakai pdf.js
  • Banyak orang mengeluh soal proyek open source, tetapi sedikit yang mau langsung memperbaikinya
    Saya mencintai Nextcloud. Memang lambat, tetapi data saya tetap saya miliki sendiri, dan karena kodenya AGPL, saya juga bisa memodifikasinya
    Bisa dipakai gratis, dan kita dapat menambahkan fitur tambahan seperti “berbelanja” ekstensi
    Saya sudah memakainya lebih dari 6 tahun tanpa masalah besar, dan kebebasan seperti ini benar-benar keren
    Memang tidak sempurna, tetapi saya bersyukur proyek seperti ini ada

  • Kelebihan Nextcloud adalah seluruh alat kolaborasi bisa ditangani dalam satu platform
    Ia memberi pengalaman yang terintegrasi untuk file, kalender, catatan, office, foto, Talk, dan lain-lain
    Paket AIO sudah banyak menyelesaikan masalah update dan stabilitas
    Hanya saja, karena berbasis PHP performanya kurang, dan UI-nya rasanya perlu dipoles seperti Synology DSM

    • Mengganti bahasa tidak akan banyak meningkatkan kecepatan
      Masalahnya adalah struktur I/O yang tidak efisien dan begitu banyak panggilan XHR
      PHP punya aksesibilitas tinggi sehingga menguntungkan untuk kontribusi komunitas
    • Sebagai referensi, Owncloud Infinite Scale adalah versi yang ditulis ulang dengan Go
      dokumentasi resmi — tetapi ketergantungannya pada Docker banyak dan batasan lingkungannya besar