Nextcloud-এর সেরা self-hosted বিকল্প কোনগুলো?
আপনার প্রয়োজন অনুযায়ী Nextcloud বিকল্প বাছুন: শুধু file sync, হালকা server-এ দ্রুত sync, object storage বা সাধারণ SFTP। Migration cost-সহ তুলনা দেখুন।
কোন Nextcloud বিকল্পগুলো self-host করার মতো?
যে Nextcloud বিকল্পগুলো আপনার আর ব্যবহার না করা অংশগুলো বাদ দেয়, সেগুলোই self-host করার উপযোগী। Nextcloud একই PHP application-এর মধ্যে file server, calendar, contact book, office suite এবং app platform হিসেবে কাজ করে। প্রতিটি page load-এর সময় এর সব অংশের খরচ আপনাকেই বহন করতে হয়। তাই আপনার এখনও প্রয়োজন এমন একটি কাজ নির্ধারণ করে replacement বেছে নিন। এরপর আপনার বর্তমান file সরাতে কী খরচ হবে, তা যাচাই করুন।
এই guide কাজের ধরন অনুযায়ী বিকল্পগুলো সাজিয়েছে: শুধু sync, দ্রুততর server-সহ sync, উপরে client যুক্ত object storage, অথবা সাধারণ remote file access। প্রতিটি section-এ ছোট VPS (virtual private server)-এ server-এর কী প্রয়োজন এবং আপনার বর্তমান folder tree-র কী হবে, তা বলা হয়েছে। আপনি যদি আগে থেকেই চালানো কোনো Nextcloud box-এর পরিবর্তে Dropbox বা Google Drive ব্যবহার করে থাকেন, self-hosted Dropbox বিকল্পগুলোর বিস্তৃত পর্যালোচনা সেই দিক থেকে শুরু করেছে।
ছোট VPS-এ Nextcloud ধীর হয়ে যায় কেন
এই ধীরগতির নির্দিষ্ট কারণ আছে। কারণগুলো জানা থাকলে VPS বদলালে সত্যিই উপকার হবে কি না, তা বোঝা যায়।
প্রতিটি page load একটি PHP worker দখল করে। Nextcloud-এর নিজস্ব system requirements অনুযায়ী, August 2026-এ memory-এর প্রয়োজনীয়তা প্রতি process-এর জন্য নির্ধারিত: ন্যূনতম 128 MB, প্রস্তাবিত 512 MB। এটি পুরো server-এর মোট memory নয়। 2 GB plan-এ দশটি worker-এর pool একটি বাস্তব memory budget তৈরি করে। তাই admins PHP-FPM pool config-এ pm.max_children কমিয়ে দেন। এরপর যত worker আছে, request-গুলো তাদের পেছনে queue-তে অপেক্ষা করে। Disk idle থাকলেও interface ধীর মনে হয়।
Database byte count অনুযায়ী নয়, file count অনুযায়ী বড় হয়। Default table prefix-এর অধীনে থাকা file cache table, oc_filecache, server যে প্রতিটি storage সম্পর্কে জানে তার প্রতিটি file ও folder-এর জন্য একটি করে row রাখে। 300,000টি ছোট file-এর photo library একটি বড় table তৈরি করে। বিপরীতে, 400টি file-এ থাকা 300 GB video file-এর collection একটি ছোট table তৈরি করে। Sharing, search এবং file scanner—সবই এই table পড়ে।
sudo mysql nextcloud -e 'SELECT COUNT(*) FROM oc_filecache;'File count millions-এ পৌঁছালে ধীর file list-এর কারণ বোঝাতে যেকোনো disk benchmark-এর চেয়ে এটি বেশি কার্যকর। আপনার instance-এ ভিন্ন table prefix বা PostgreSQL ব্যবহৃত হলে query সমন্বয় করুন।
Background job-গুলো web interface-এর সঙ্গে resource নিয়ে প্রতিযোগিতা করে। Nextcloud-এর manual প্রতি পাঁচ মিনিটে cron.php চালানোর জন্য একটি system cron entry ব্যবহারের পরামর্শ দেয়। Preview generation এবং file scanning একই CPU-তে চলে, যে CPU আপনার browser-এর request-ও serve করে।
বড় upgrade একটি database migration। Instance maintenance mode-এ যায় এবং migration শেষ না হওয়া পর্যন্ত প্রতিটি request-এর উত্তর Nextcloud is in maintenance mode, please try again later দিয়ে দেয়। বড় oc_filecache থাকা ছোট VPS-এ এই সময়সীমা এত দীর্ঘ হতে পারে যে বিষয়টি স্পষ্টভাবে বোঝা যায়।
প্রথমে ঠিক করুন আপনি কী রাখতে চান
- নিজের মালিকানাধীন একাধিক মেশিনের মধ্যে একটি folder sync করতে চান, কোনো web interface ছাড়াই: Syncthing।
- একাধিক ব্যক্তির জন্য web interface, mobile client এবং share link-সহ sync করতে চান: Seafile।
- কম খরচে অনেক data সংরক্ষণ করতে এবং script ও backup tool থেকে তা ব্যবহার করতে চান: object storage-এর সঙ্গে একটি client ব্যবহার করুন।
- নতুন server software ছাড়াই দূর থেকে file পড়তে ও লিখতে চান: SFTP অথবা WebDAV।
- browser-এ একসঙ্গে document সম্পাদনা করতে অথবা একাধিক ব্যক্তির মধ্যে calendar share করতে চান: Nextcloud ব্যবহার চালিয়ে যান, অথবা দুটি service চালানোর বিষয়টি মেনে নিন।
Syncthing: সার্ভার অ্যাপ্লিকেশন ছাড়া file sync
Syncthing আপনার file-গুলোকে সাধারণ file হিসেবেই রাখে। কোনো content database নেই এবং আপনার document পরিবেশন করার জন্য কোনো web interface নেই। কোনো folder-এ যুক্ত হওয়া প্রতিটি device সম্পূর্ণ copy রাখে, আর Syncthing copy-গুলোকে একই রাখে।
sudo mkdir -p /etc/apt/keyrings
sudo curl -L -o /etc/apt/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg
echo "deb [signed-by=/etc/apt/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable-v2" | sudo tee /etc/apt/sources.list.d/syncthing.list
sudo apt-get update
sudo apt-get install syncthingsudo systemctl enable --now syncthing@$USER
sudo ss -lntp | grep 8384127.0.0.1:8384 দেখানো একটি line-এর অর্থ হলো web interface চালু আছে এবং শুধু localhost-এ bind করা হয়েছে। Public VPS-এর ক্ষেত্রে এটিই প্রত্যাশিত। SSH tunnel ব্যবহার করে এতে প্রবেশ করুন: ssh -L 8384:127.0.0.1:8384 you@your-vps, তারপর আপনার laptop-এ http://127.0.0.1:8384 খুলুন। 8384 port-এ কোনো listener না থাকলে service start করতে ব্যর্থ হয়েছে, আর journalctl -u syncthing@$USER -n 50-এ কারণটি দেখুন।
Resources। Syncthing কোনো minimum memory figure প্রকাশ করে না। এটি মোট file size-এর পরিবর্তে index করা file-এর সংখ্যার সঙ্গে সামঞ্জস্য রেখে resource ব্যবহার করে, কারণ প্রতিটি shared folder-এর প্রতিটি file-এর জন্য একটি করে index entry রাখে। বড় folder-এর প্রথম scan CPU-intensive কাজ। কিছু compare করার আগে Syncthing প্রতিটি file-এর hash তৈরি করে। Shared vCPU-তে প্রথম pass শেষ হতে কিছু সময় লাগবে। Memory gigabyte-এর পরিবর্তে file-এর সংখ্যার সঙ্গে বাড়বে।
Disk-ই প্রকৃত খরচ। Server-side কোনো storage নেই, কারণ Syncthing কোনো server নয়। VPS এবং laptop-এর মধ্যে shared একটি 200 GB folder-এর জন্য উভয় device-এই 200 GB storage দরকার। এটি Nextcloud-এর বিপরীত। Nextcloud-এ server সবকিছু সংরক্ষণ করে এবং client-গুলো কোন file sync করবে তা বেছে নেয়। VPS-কে peer-এর পরিবর্তে backup target হিসেবে ব্যবহার করতে চাইলে selective folder এবং VPS-এ একটি receive only folder ব্যবহার করুন।
Migration-এর কারণেই এটি বেছে নেওয়া হয়। আপনার বিদ্যমান directory tree-কে Syncthing-এর source হিসেবে নির্ধারণ করুন। কোনো import, upload বা conversion নেই। VPS-এ folder যোগ করুন, একই folder ID ব্যবহার করে laptop-এও folder যোগ করুন, তারপর দুই পাশের data একই হওয়া পর্যন্ত অপেক্ষা করুন। প্রথমবার সংযোগের সময় উভয় পাশে একই file-এর আলাদা সংস্করণ থাকলে Syncthing উভয়টি সংরক্ষণ করে এবং একটির নাম filename.sync-conflict-20260809-142530-ABCD123.txt করে। প্রথম sync-এ এই file-গুলো দেখা স্বাভাবিক; এটি failure নয়।
আপনাকে যা ছাড়তে হবে। কোনো account নেই, অন্যদের পাঠানোর জন্য share link নেই, এবং phone browser থেকে file browse করার কোনো উপায় নেই। মূল Android app-টি project নিজে আর maintain করে না। একটি community fork সেটির development চালিয়ে যাচ্ছে। Mobile access গুরুত্বপূর্ণ হলে এই বিষয়টি বিবেচনা করতে হবে। Syncthing এবং Nextcloud-এর সরাসরি তুলনা প্রতিটি feature gap আলাদাভাবে ব্যাখ্যা করেছে।
Seafile: কম সম্পদে দ্রুত sync
Seafile কাজটি দুটি অংশে ভাগ করে। Seahub নামের একটি Python web application interface দেখায়, আর আলাদা একটি C process sync traffic পরিচালনা করে। আপনার file transfer web application-এর মধ্য দিয়ে যায় না। তাই অন্য কেউ interface ব্যবহার করলেও বড় upload দ্রুত থাকে। Version 13.0 released হয়েছে 5 January 2026-এ।
sudo mkdir -p /opt/seafile
cd /opt/seafile
sudo wget -O .env https://manual.seafile.com/13.0/repo/docker/ce/env
sudo wget https://manual.seafile.com/13.0/repo/docker/ce/seafile-server.yml
sudo wget https://manual.seafile.com/13.0/repo/docker/seadoc.yml
sudo wget https://manual.seafile.com/13.0/repo/docker/caddy.ymlকোনো কাজ শুরু করার আগে .env সম্পাদনা করুন। এতে SEAFILE_SERVER_HOSTNAME, INIT_SEAFILE_ADMIN_EMAIL, INIT_SEAFILE_ADMIN_PASSWORD, SEAFILE_MYSQL_DB_PASSWORD এবং JWT_PRIVATE_KEY সেট করা হয়। এগুলোর মধ্যে একটি মান random string হতে হবে, যার দৈর্ঘ্য অন্তত 32 characters। এই file-এ compose-কে জানানো হয় কোন downloaded YAML file পড়তে হবে। তাই চারটি download মিলে একটি stack হিসেবে কাজ করে।
cd /opt/seafile
sudo docker compose up -d
sudo docker compose psপ্রতিটি container-এর running state দেখানো উচিত। কোনো container বারবার restart হলে প্রায় সব সময় .env-এ কোনো value অনুপস্থিত থাকে। sudo docker compose logs seafile কোন value-টি অনুপস্থিত তা জানায়।
Resources। August 2026 অনুযায়ী, Seafile-এর documentation-এ অন্তত 2 GB RAM এবং 2 GHz-এর বেশি গতির 2 core CPU চাওয়া হয়েছে। এটিকে পুরো stack-এর ন্যূনতম প্রয়োজন হিসেবে ধরুন। কারণ Docker deployment-এর সঙ্গে MariaDB, Caddy reverse proxy এবং SeaDoc editor-ও start হয়। এক বা দুইজনের বেশি ব্যবহারকারী থাকলে 4 GB RAM দিন, অথবা optional container-গুলো বাদ দিন।
Migration-এর প্রধান সীমাবদ্ধতা হলো storage format। Seafile আপনার file-গুলো সরাসরি file হিসেবে সংরক্ষণ করে না। প্রতিটি file-কে /opt/seafile-data-এর অধীনে block-এ ভাগ করে এবং database-এ সেই tree-এর তথ্য রাখে। কোনো existing directory Seafile-কে দেখিয়ে সেটিকে library হিসেবে ব্যবহার করা যায় না। তাই migration করতে হলে আপনার সব data একবার সম্পূর্ণ upload করতে হবে। একই নকশার কারণে cp ব্যবহার করে data সরাসরি বের করা যায় না। Recovery server-এর মাধ্যমে করতে হয়, consistency check-এর জন্য seaf-fsck ব্যবহার করতে হয়, অথবা read-only seaf-fuse mount ব্যবহার করতে হয়।
rclone-এর native Seafile backend আছে। এটি দীর্ঘ drag-and-drop session-এর পরিবর্তে একটি resumable command ব্যবহার করে upload সম্পন্ন করে।
rclone config
rclone copy /srv/files seafile:MyLibrary --progressrclone documentation-এ Seafile 6.x থেকে 9.x পর্যন্ত tested version হিসেবে উল্লেখ করা হয়েছে। তাই 1 terabyte data upload করার আগে একটি ছোট folder দিয়ে এটি চালিয়ে ফলাফল পরীক্ষা করুন।
Encrypted libraries-ই অনেক ব্যবহারকারী migration-এর জন্য যে feature বেছে নেন। Password client-এ set করা হয়, এবং server এমন block সংরক্ষণ করে যা server পড়তে পারে না। একটি গুরুত্বপূর্ণ সীমাবদ্ধতা আছে: browser-এ encrypted library থেকে কোনো file preview করলে ওই session-এর জন্য password server-এ পাঠানো হয়। তাই browser preview এবং zero-knowledge storage একই সময়ে সম্ভব নয়। Seafile এবং Nextcloud-এর তুলনামূলক আলোচনা-তে feature trade-off-এর বাকি বিষয়গুলো ব্যাখ্যা করা হয়েছে।
উপরে sync client ব্যবহার করে object storage
লক্ষ্য যদি কম খরচে বিপুল পরিমাণ byte সংরক্ষণ করা এবং script থেকে সেগুলোতে পৌঁছানো হয়, তাহলে একটি S3 compatible object store চালান এবং sync-কে আলাদা tool হিসেবে ব্যবহার করুন। এতে durability, versioning এবং এমন একটি protocol পাবেন, যা প্রায় সব backup tool-ই ইতিমধ্যে ব্যবহার করে। তবে file-server-এর অর্থে user account বা ব্যবহারবান্ধব file manager পাবেন না। MinIO দিয়ে self-hosted object storage-এ server side সম্পর্কে বলা হয়েছে।
rclone copy /srv/files s3remote:mybucket --progress
rclone check /srv/files s3remote:mybucketrclone check দুই পাশের size ও hash তুলনা করে এবং কতটি file আলাদা তা দেখায়। zero ছাড়া অন্য যেকোনো error মানে copy সম্পূর্ণ হয়নি। তাই source মুছে ফেলার আগে আবার copy চালান। দুটি বিষয় মনে রাখুন: object storage-এ directory থাকে না, থাকে শুধু key prefix। তাই খালি folder copy-এর পরে অক্ষত থাকে না। এছাড়া S3 chunk size-এর সঙ্গে --transfers বাড়ালে rclone-এর memory ব্যবহার বেড়ে যায়। তাই 1 GB VPS-এ উভয়টির default মান ব্যবহার করুন।
শুধু দূরবর্তী ফাইলের প্রয়োজন হলে সাধারণ WebDAV বা SFTP
সবচেয়ে সস্তা বিকল্পটি প্রায়ই নতুন কিছু না করা। আপনার VPS-এ OpenSSH চললে সেখানে ইতিমধ্যেই একটি file server আছে। SFTP-এর জন্য অতিরিক্ত daemon, database বা PHP লাগে না। এমন কোনো upgrade-ও লাগে না, যা রবিবারে ব্যর্থ হতে পারে।
sftp you@your-vps
rclone mount sftpremote: ~/vps --vfs-cache-mode writesWebDAV সমর্থন করে এমন client-এর জন্য, যার মধ্যে অধিকাংশ ফোনের file manager রয়েছে, rclone একই tree পরিবেশন করতে পারে।
sudo apt install apache2-utils
sudo htpasswd -c /etc/rclone/htpasswd you
rclone serve webdav --addr 127.0.0.1:8080 --htpasswd /etc/rclone/htpasswd /srv/filesএটিকে 127.0.0.1-এ bind করুন এবং সামনে TLS-সহ একটি reverse proxy রাখুন। WebDAV basic authentication প্রতিটি request-এর সঙ্গে password পাঠায়। তাই এখানে সাধারণ HTTP ব্যবহার করলে প্রতি মিনিটে বহুবার password পাঠানো হয়। Migration-এর খরচ শূন্য, কারণ file কখনো সরাতে হয় না। এর বিনিময়ে sync বা offline copy থাকে না। Link বিচ্ছিন্ন হলে client-এ link ফিরে না আসা পর্যন্ত file-গুলো আর পাওয়া যায় না।
ক্যালেন্ডার, পরিচিতি ও ডকুমেন্ট সম্পাদনার বিকল্প
এখানে Nextcloud ব্যবহার বন্ধ করলে কিছু সুবিধা হারাবেন, এবং সেগুলো স্পষ্টভাবে বোঝা জরুরি। ক্যালেন্ডার ও পরিচিতি CalDAV এবং CardDAV (HTTP-এর মাধ্যমে ক্যালেন্ডার ও পরিচিতি synchronisation), আর Radicale হলো এর ছোট বিকল্প। এটি প্রতিটি collection disk-এ file হিসেবে সংরক্ষণ করে এবং কয়েক দশক megabyte memory ব্যবহার করে চলে।
sudo apt install radicale
sudo systemctl enable --now radicale
sudo ss -lntp | grep 5232Package-টি /usr/lib/systemd/system/radicale.service এবং এর default config /etc/radicale/config-এ ইনস্টল করে। এটি localhost:5232-এ listening করে। Radicale-এ event edit করার কোনো interface নেই। তাই phone বা desktop client-কে এর দিকে point করে সেখানেই edit করতে হবে।
Browser-ভিত্তিক document editing-এর বিকল্প খুঁজে পাওয়া কঠিন। OnlyOffice Docs এবং Collabora Online দুটিই editing engine, storage নয়। প্রতিটির এমন একটি host application দরকার, যা file সংরক্ষণ করে এবং document তাদের কাছে পাঠায়। Nextcloud বাদ দিলে Seafile-এর মতো অন্য host ব্যবহার করতে হবে; Seafile-এর নিজস্ব SeaDoc editor আছে। OnlyOffice ও Collabora-এর তুলনা-এ কোন host ঠিক করার পর কোন engine চালাবেন, তা ব্যাখ্যা করা হয়েছে।
এই শর্তগুলোর কোনোটি সত্য হলে Nextcloud ব্যবহার করুন
- একই account-এ থাকা file-এর পাশাপাশি কয়েকজন একটি calendar এবং একটি address book শেয়ার করেন।
- আপনি browser-এ office document edit করেন এবং একই সময়ে অন্য কেউ একই file edit করেন।
- আপনার per-file share link প্রয়োজন, যেখানে expiry date ও password থাকবে, পাশাপাশি group permission-ও দরকার।
- আপনার users technical নন, এবং তারা বাস্তবে mobile app-ই ব্যবহার করেন।
এই কাজগুলোর সবকিছু করার মতো আরও হালকা কোনো সমাধান নেই। তাই Nextcloud বাদ না দিয়ে install ঠিক করাই সঠিক সিদ্ধান্ত। বেশিরভাগ slow instance কোনো memory cache configure না করেই default PHP-FPM pool ব্যবহার করে। Nextcloud-এর admin overview page-এ missing cache সম্পর্কে warning দেখায়। Tracked file-এর সংখ্যা কমানো অন্য যেকোনো একক পরিবর্তনের চেয়ে বেশি কার্যকর। কারণ file cache table-ই বড় হতে থাকে। Docker, TLS এবং backup-সহ VPS-এ Nextcloud install এটি এমনভাবে সেট up করে, যাতে এই সমস্যাগুলোর বেশিরভাগ এড়ানো যায়।
মাইগ্রেশনের প্রকৃত খরচ: প্রতিটি বিকল্প অনুযায়ী
- Syncthing: কোনো import প্রয়োজন নেই। উভয় পাশে থাকা tree-তে এটিকে নির্দেশ করুন এবং দুই পাশের বিষয়বস্তু সামঞ্জস্যপূর্ণ হওয়া পর্যন্ত অপেক্ষা করুন।
- একই tree-এর ওপর SFTP বা WebDAV: একেবারেই কোনো import প্রয়োজন নেই, কারণ কোনো ডেটা স্থানান্তরিত হয় না।
- Object storage: নেটওয়ার্কের মাধ্যমে একবার সম্পূর্ণ copy করতে হবে। এটি পুনরায় চালানো এবং script দিয়ে স্বয়ংক্রিয় করা যায়, তবে খালি folder এতে টিকে থাকে না।
- Seafile: library-তে একবার সম্পূর্ণ upload করতে হবে, কারণ server file-এর পরিবর্তে block সংরক্ষণ করে।
আপনি যে বিকল্পই বেছে নিন, প্রথমে Nextcloud থেকে একটি নির্ভুল copy তৈরি করুন। User file-গুলো data directory-এর মধ্যে সাধারণ file হিসেবে থাকে; প্রতিটি user-এর জন্য একটি করে folder থাকে। তাই rsync হলো সেই tree-এর source। Copy করার আগে instance-কে maintenance mode-এ রাখুন। তা না হলে লেখার মাঝপথে থাকা file copy হয়ে যেতে পারে।
sudo -u www-data php occ maintenance:mode --on
sudo rsync -a --info=progress2 /path/to/nextcloud/data/ /srv/files/
find /srv/files -type f | wc -lSource-এ একই find-এর সঙ্গে এই count তুলনা করুন। Count কম হলে সাধারণত permissions-এর কারণে rsync কোনো কিছু পড়তে পারেনি, এবং চলার সময়ই সেই error-গুলো print করে।
এই copy-তে দুটি বিষয়ে সতর্ক থাকতে হবে। Nextcloud-এর external storage feature-এর মাধ্যমে পাওয়া file data directory-তে থাকে না। এগুলো সেই remote system-এ থাকে, যেটির বিষয়ে Nextcloud-কে জানানো হয়েছে। এছাড়া server-side encryption কখনও enabled থাকলে disk-এর file-গুলো ciphertext হিসেবে থাকে। তাই copy করার আগে occ encryption:decrypt-all চালাতে হবে। তা না হলে পড়া যায় না এমন data-র একটি folder স্থানান্তরিত হবে। কোনো কিছু cancel করার আগে দুটিই পরীক্ষা করুন।
FAQ
বিদ্যমান folder structure অক্ষুণ্ণ রাখে—এমন কোনো Nextcloud বিকল্প কি আছে?
Syncthing, এবং সাধারণ SFTP বা WebDAV setup। আপনি যে directory নির্দিষ্ট করেন, Syncthing সেটির index তৈরি করে এবং প্রতিটি device-এ একই নাম ও layout বজায় রাখে। তাই কোনো import ধাপ বা upload প্রয়োজন হয় না। Seafile এবং object storage—উভয়ের ক্ষেত্রেই একবার সম্পূর্ণ upload করতে হয়, কারণ কোনোটিই সাধারণ tree-তে সাধারণ file হিসেবে data সংরক্ষণ করে না। Seafile তার data directory-র অধীনে file-গুলোকে block-এ ভাগ করে রাখে, আর object storage directory-এর পরিবর্তে key ব্যবহার করে।
2 GB VPS-এ কি Seafile চলবে?
August 2026 অনুযায়ী, Seafile-এর documentation-এ কমপক্ষে 2 GB RAM এবং 2 GHz-এর বেশি গতির 2 core CPU চাওয়া হয়েছে। এটিকে কোনো অতিরিক্ত সক্ষমতা ছাড়া ন্যূনতম সীমা হিসেবে ধরুন, কারণ Docker deployment নিজের container-এ MariaDB, Caddy এবং SeaDoc editor-ও চালায়। একজন user-এর জন্য এটি ব্যবহারযোগ্য। একটি household বা ছোট team-এর জন্য 4 GB-এ যান, অথবা stack থেকে SeaDoc container বাদ দিন এবং browser-এ document editing-এর সুবিধা ত্যাগ করুন।
Download এখনও দ্রুত থাকা সত্ত্বেও আমার Nextcloud web interface ধীর কেন?
কারণ দুটি path-এ ভিন্ন কাজ হয়। Download disk থেকে byte stream করে, আর page load PHP চালায়, file cache table-এ query করে এবং প্রায়ই একটি খালি PHP-FPM worker-এর জন্য অপেক্ষা করে। Storage-কে দোষ দেওয়ার আগে oc_filecache-এর row গণনা করুন এবং আপনার PHP-FPM pool-এ pm.max_children পরীক্ষা করুন। Millions row-যুক্ত table এবং পাঁচটি worker-এর pool ঠিক এই pattern তৈরি করে।
Calendar-এর জন্য Nextcloud রেখে শুধু file সরিয়ে নিতে পারি কি?
হ্যাঁ, এবং প্রায়ই এটিই সবচেয়ে কম খরচের সমাধান। বড় folder-গুলো Syncthing বা Seafile দিয়ে sync করুন, আর CalDAV, CardDAV এবং browser document editing-এর জন্য Nextcloud চালু রাখুন। Nextcloud যে সংখ্যক file track করে, তার সঙ্গে database বড় হয়। তাই বড় tree-গুলো সেখান থেকে সরালেই interface আবার দ্রুত হয়। Web interface বা occ ব্যবহার করে সেগুলো delete করুন; disk-এর data directory থেকে delete করবেন না। তা না হলে database-এ আর বিদ্যমান নয় এমন file-এর দিকে নির্দেশ করা row থেকে যাবে।