2 puan yazan GN⁺ 2025-11-04 | 3 yorum | WhatsApp'ta paylaş
  • Kişisel sunucuda Nextcloud optimize edilse bile yavaş tepki vermesinin nedeni, aşırı JavaScript yükleme yapısı
  • İlk sayfa yüklemesinde 15~20MB JavaScript indiriliyor; sıkıştırma sonrası bile 4~5MB seviyesinde kalarak hâlâ oldukça ağır
  • core-common.js (4.71MB), NotificationsApp.chunk.mjs (1.06MB), Calendar uygulaması 5.94MB, Files uygulaması 18.8MB, Notes uygulaması 20.91MB gibi uygulama bazlı script boyutları çok büyük
  • Bu yapı nedeniyle iPhone 13 mini'de bile Tasks uygulamasının açılmasında 5~10 saniye gecikme yaşanıyor
  • Bazı işlevler Vikunja (1.5MB JS) ve Immich gibi araçlarla değiştirildi, ancak Nextcloud'un entegre yapısı nedeniyle tamamen ikame etmek zor

Nextcloud'da performans düşüşünün nedeni

  • Nextcloud; dosya, takvim, kişiler, notlar, yapılacaklar, fotoğraflar gibi birçok işlevi entegre biçimde sunuyor, ancak algılanan kullanım hızı yavaş
    • Donanım performansının yeterli olduğu ortamlarda bile tepki süresi yavaş kalıyor
  • Geliştirici araçlarıyla yapılan analiz, gecikmenin başlıca nedeninin aşırı JavaScript miktarı olduğunu gösteriyor
    • İlk sayfa yüklemesinde 15~20MB JavaScript indiriliyor
    • Sıkıştırılmış iletimden sonra bile 4~5MB düzeyinde; bu da tipik bir web uygulamasına (1MB) göre çok büyük
  • Tarayıcı önbelleği bulunsa bile, her ziyarette büyük miktarda kodun çalıştırılması gerektiği için yükleme gecikmesi oluşuyor

Başlıca JavaScript bundle boyutları

  • core-common.js: 4.71MB; birçok uygulamada ortak işlevler sağlıyor
  • NotificationsApp.chunk.mjs: 1.06MB
  • Calendar uygulaması: yalnızca varsayılan takvim görünümü için 5.94MB gerekiyor
    • Yavaş ağ koşullarında 30 saniyeyi aşan yükleme gecikmeleri yaşanabiliyor
  • Files uygulaması: EditorOutline (1.77MB), previewUtils (1.17MB), index (1.09MB), emoji-picker (0.9MB) gibi çok sayıda script içeriyor
    • Toplam 18.8MB olup, gerçek kullanımda 1 dakikayı aşan bekleme süreleri görülebiliyor
  • Notes uygulaması: yalnızca notes-main.js 4.36MB; toplamda yaklaşık 20.91MB

Kullanıcı deneyimine etkisi

  • Tasks uygulaması çalıştırıldığında da 5~10 saniyelik gecikme yaşanıyor
    • Örnek: mağazada alışveriş listesini açarken anında görüntülenmiyor
  • İşlevlere kıyasla bundle boyutu orantısız derecede büyük olduğu için, işlevsellik ile performans arasında dengesizlik oluşuyor
  • Nextcloud'un yapısında çok sayıda ortak kütüphane ve araç bulunduğundan, entegre deneyimin bedeli performans kaybı oluyor

Alternatif servislerden yararlanma

  • Bazı işlevler Vikunja (görev yönetimi, 1.5MB JS) ve Immich (fotoğraf yönetimi) ile ayrı olarak kullanılabiliyor
    • Vikunja kusursuz değil, ancak JS boyutu küçük olduğu için algılanan hızı daha iyi
  • Buna rağmen Nextcloud'un entegrasyon düzeyi ve kullanım kolaylığı nedeniyle tamamen yerine geçirmek zor

Sonuç ve algı değişimi

  • Nextcloud'un mevcut yapısında haklı gerekçeler ya da insan kaynağı eksikliği gibi pratik kısıtlar olabilir
  • Buna rağmen, kullanıcı deneyimi ve erişilebilirlikteki gerileme açık bir sorun olarak gösteriliyor
  • Web performansı uzmanı Alex Russell'ın yazısı sayesinde, web performansının önemi ile geliştirme ekiplerinin performans ve erişilebilirlik yönetimindeki ihmali daha görünür hâle geliyor
  • Web uygulaması geliştirirken performance inequality sorununu dikkate almak gerekiyor

3 yorum

 
ndrgrd 2025-11-04

Gerçekten yavaş. Sadece istemci değil, sunucu da yavaş.
8745HS bir makinede birkaç yüz PDF için küçük resim oluşturmak saatler sürüyor ve yine de bitmiyor.
Başka herhangi bir dosya sunucusu çalıştırmak daha iyi. İstemci Windows ise smb, geri kalanı içinse rclone ya da dufs ile bir WebDAV sunucusu kullanmak daha iyi oluyor.

 
yeorinhieut 2025-11-05

copyparty bayağı iyi.

 
GN⁺ 2025-11-04
Hacker News görüşleri
  • Nextcloud'u sevmek istiyorum. Varlığının kendisi bile etkileyici
    Ama dışarıdan düzgün çalışıyor gibi görünse de bazen tamamen çöküyor ve geri döndürülemez hatalar ortaya çıkıyor
    Aile fotoğraflarını iOS/Android uygulamasıyla otomatik yedeklemeye çalıştım, ancak iOS uygulaması bazen “locked webdav” hatası veriyor ya da senkronizasyon duruyor
    Sonunda 80 GB fotoğrafı baştan yeniden yüklemek zorunda kaldım
    Ailenin kullanması için fazla güvensiz; güvenilir bir alternatif gerekiyor. Pratikte iCloud dışında alternatif yok

    • iOS uygulaması arka planda hesap bağlantısını koparıp veri kaybına neden olmuştu
      Files uygulaması entegrasyonuyla yapıştırma yaptım ama senkronizasyon olmadı ve hiçbir uyarı vermeden veri kayboldu
    • Son zamanlarda insanların yaptığı ultra hafif bir alternatif olan copyparty var
      copyparty GitHub — sadece gerekli özellikler var, gereksiz şişkinlik yok
    • Fotoğraf yedekleme için Immich çok daha iyi bir deneyim sunuyor
      Ama Dropbox alternatifi olarak hâlâ gerçekten uygun bir şey yok
    • Fotoğraf tarafında Immich'in en iyisi olduğunu düşünüyorum
    • Mobil yüklemeleri FolderSync ile değiştirdim ve kusursuz çalışıyor
      Resmî uygulama hatalarla dolu ama sunucu tarafı stabil
  • Nextcloud çok fazla JavaScript çağrısı yaptığı için yavaş
    Takvim sayfası yenilendiğinde 124 ağ çağrısı yapılıyor ve bunların 31'i önbelleğe alınmıyor
    Her takvim 30 ms'den fazla sürüyor, bu yüzden takvim sayısı arttıkça gecikme birikiyor
    Yerel ağda bile 1 saniye, 4G ortamında ise 33 saniyeden fazla sürüyor. Tasarımın kendisi verimsiz

    • Çok fazla JS dosyası ve AJAX isteği var
      Bu tür REST tabanlı yapı mobil ağlarda gidiş-dönüş gecikmesi yüksek olduğu için kaçınılmaz olarak yavaş kalıyor
      Artık REST yerine WebSocket kullanmanın zamanı geldiğini düşünüyorum
    • Eskiden Nextcloud takvimi gerçekten harikaydı ama yeniden tasarımdan sonra tamamen bozuldu
      Etkinlik eklemek veya düzenlemek zahmetli hâle geldi ve arayüz de çocuksu bir görünüme büründü. Kullanışlı bir açık kaynak web takvimi yok
    • Bu sorunları çözmek için veri senkronizasyon protokolünün iyileştirilmesi gerekiyor
      Electric SQL gibi yaklaşımlar ilgi çekici
      Ayrıca TC39 import proposal gibi JS iyileştirme önerileri de yardımcı olabilir
  • Eskiden Nextcloud'un bir soft fork'unu bakımını yapıyordum, ama temel mimari çok karmaşık
    Yalnızca birkaç performans yaması uygulayarak bile dosya yöneticisinin render hızını birkaç kat artırmıştım
    Ama kod tabanı katman üstüne katman eklenmiş bir yapı olduğu için güven vermiyor
    Sonunda projeyi bıraktım. Bu karmaşıklık sanki hosting sağlayıcı ekosistemini ayakta tutan unsurlardan biri gibi

    • Ben de aynı fikirdeyim. Nextcloud modülerleşme tuzağına düşmüş durumda
      Her özellik bağımsız bir eklenti olarak başladığı için bütünlük yok
      Artık tek bir canavara dönüştü; bence bunun yerine birkaç aracı SSO ile bağlamak daha iyi
    • Bu yamaları paylaşıp paylaşmadığını merak ediyorum. Hız artışı büyükse topluluğa faydası olabilir
      Ayrıca gerçekte Nextcloud'u işletmek o kadar da zor değil. Bir kez kurunca bakım basit
  • Yazıda sözü edilen JS boyutundan çok, verimsiz mantığın yavaşlığın asıl nedeni olduğunu düşünüyorum
    Sorun, aşırı sayıda API çağrısı ve arayüz güncellemesi

    • JS çok fazlaysa ayrıştırma, çalıştırma, DOM manipülasyonu gibi alanlarda biriken ek yük büyük olur
      Eskiden 200 KB'ı geçince optimizasyon kontrolü yapardık, Nextcloud ise 15 MB
    • Neden, önbelleklemenin düzgün çalışmaması ya da gereksiz ön yükleme olabilir
  • Nextcloud'u 7 yıldır aile fotoğrafı yedekleme için kullanıyorum
    Mahremiyet açısından iyi ve stabil, ama Google Docs alternatifi olarak asla önermem
    Büyük yüklemeler ve küçük görsel yükleme işlemleri dengesiz ve yavaş
    Yine de alternatifi yok ve verilerimi büyük şirketlerin yapay zekasına emanet etmek istemiyorum
    Keşke ailem de daha aktif kullansa

    • Immich bunun alternatifi olabilir mi diye merak ediyorum. Fotoğraf ve video yönetiminde güçlü olduğunu duydum
  • Çeşitli self-hosted dosya yöneticileri kullandım
    Ajaxplorer → Pydio → Nextcloud → FileRun sırasıyla kullandım ve en memnun kaldığım FileRun oldu
    Hızlı, stabil ve mobil tarayıcıda da iyi çalışıyor
    Şimdi ücretli ama buna değer
    copyparty de hafif ve hızlı, ama genel kullanıcı için pek dostane değil
    FileRun'ın “file request” özelliğini özlüyorum

    • Ben filebrowser'ı seviyorum. Syncthing ile birlikte kullanınca mini Dropbox gibi oluyor
      filebrowser GitHub
      filebrowser-docker
    • copyparty'de de “shares(--shr)” özelliğiyle benzer yükleme bağlantıları oluşturulabiliyor
      demo bağlantısı
    • copyparty yalnızca tek yönlü senkronizasyon desteklediği için Nextcloud'un yerini alması zor
      Syncthing ile birlikte denemeyi düşünüyorum ama CPU yükünden endişeliyim
  • Nextcloud yavaş ve şişkin ama stabil
    8 kişilik bir şirkette yıllardır sorunsuz kullanıyoruz
    Web uygulaması yavaş olduğu için neredeyse hiç kullanmıyoruz, daha çok masaüstü senkronizasyon istemcisini kullanıyoruz
    IMAP kimlik doğrulama eklentisi çok kullanışlı, bu da kullanıcı yönetimini kolaylaştırıyor

    • Web uygulamasının yavaş olduğu söyleniyor ama web uygulamasının birçok avantajı da var
      uBlock, userstyle, userscript gibi araçlarla özgürce özelleştirilebiliyor
  • Eskiden Nextcloud'un PDF görüntüleyici açığını bulup bildirmiştim
    Sorun, eski sürüm JS tabanlı PDF görüntüleyiciyi içermesiydi ve 16 yaşındayken 100 dolar almıştım
    blog yazım

    • Ben de uygulama içinde PDF'yi bir div içinde göstermeye çalışmıştım ama sonunda pdf.js kullanmak zorunda kaldım
  • Açık kaynak projeler hakkında çok şikâyet eden var ama doğrudan iyileştirmeye çalışan az kişi var
    Nextcloud'u seviyorum. Yavaş olsa da verilerim bana ait ve AGPL kodu olduğu için değiştirmek de mümkün
    Ücretsiz kullanılabiliyor ve eklentiler adeta “alışveriş yapar gibi” eklenebiliyor
    6 yıldan uzun süredir büyük bir sorun yaşamadan kullanıyorum ve bu özgürlük gerçekten harika
    Kusursuz değil ama var olduğu için minnettar olunacak bir proje

  • Nextcloud'un güçlü yanı, tek bir platform üzerinden tüm işbirliği araçlarını yönetebilmesi
    Dosyalar, takvim, notlar, ofis, fotoğraflar, Talk gibi araçlarda bütünleşik bir deneyim sunuyor
    AIO paketi güncelleme ve stabilite sorunlarının çoğunu çözdü
    Ancak PHP tabanlı olduğu için performans düşük ve arayüzün Synology DSM gibi daha rafine olması iyi olurdu

    • Dili değiştirmek hızı ciddi biçimde artırmaz
      Sorun verimsiz I/O yapısı ve sayısız XHR çağrısı
      PHP erişilebilirliği yüksek olduğu için topluluk katkısı açısından avantajlı
    • Bu arada Owncloud Infinite Scale, Go ile yeniden yazılmış bir sürüm
      resmî dokümantasyon — ancak Docker bağımlılığı fazla ve ortam kısıtları büyük