Official Blog
Projektowanie Synology Drive pod kątem wydajności na dużą skalę
Team Synology Polska
24 April, 2026

Projektowanie Synology Drive pod kątem wydajności na dużą skalę

Wpisujesz zapytanie i wyniki pojawiają się niemal natychmiast. Trudno się wtedy nie zastanowić, jak to działa. Osiągnięcie tak niskich opóźnień przy ogromnej liczbie możliwych scenariuszy to spore wyzwanie, z którym nasi inżynierowie mierzą się każdego dnia.

Przyjrzyjmy się bliżej, co odpowiada za wysoką wydajność Synology Drive i jak system dostarcza wyniki w tak krótkim czasie.

Fundament pod skalę i niezawodność

Zanim aplikacja zacznie działać szybko, musi mieć solidne podstawy. W świecie oprogramowania oznacza to zaprojektowanie przemyślanej architektury obejmującej między innymi schemat bazy danych oraz mechanizmy dbające o integralność danych. Taka baza musi nie tylko obsłużyć rosnące wolumeny informacji bez utraty stabilności, lecz także gwarantować ich bezpieczeństwo na każdym etapie.

Przenoszenie folderów z dużą liczbą plików

Jednym z częstszych wyzwań jest przenoszenie rozbudowanych katalogów projektowych, zawierających setki tysięcy plików. Operacja, która powinna być prosta, potrafi znacząco obciążyć system, spowalniając jego działanie w trakcie przetwarzania tak dużej zmiany struktury.

Źródłem problemu była wcześniejsza architektura bazy danych, oparta na tzw. „ciężkiej tabeli”. Odpowiadała ona za szczegółowe mapowanie relacji między folderami nadrzędnymi a ich zawartością oraz przechowywała pełne ścieżki dla każdego elementu. Wraz ze wzrostem liczby danych jej rozmiar rósł niemal wykładniczo, co bezpośrednio wpływało na wydajność.

Rozwiązaniem była gruntowna przebudowa bazy Synology Drive. Zespół inżynierów przeszedł na lekką strukturę drzewiastą opartą na identyfikatorach, całkowicie eliminując problematyczną tabelę. Obecnie każdy plik i folder przechowuje wyłącznie własną nazwę oraz identyfikator bezpośredniego nadrzędnego katalogu. Ta zmiana sprawiła, że operacje, które wcześniej zajmowały minuty i angażowały znaczące zasoby, dziś realizowane są praktycznie natychmiast. System może dzięki temu sprawnie obsługiwać bardzo duże zbiory danych.

Równowaga między bezpieczeństwem danych a wydajnością

Zapewnienie bezpieczeństwa danych, nawet w przypadku nagłej utraty zasilania, wymaga rejestrowania każdej zmiany w plikach. To jednak rodzi wyzwanie: intensywne zapisy mogą powodować chwilowe spadki wydajności, szczególnie gdy wiele operacji zachodzi jednocześnie.

Wcześniej wykorzystywano domyślne ustawienia mechanizmu Write-Ahead Log (WAL), który zapisuje zmiany przed ich trwałym wprowadzeniem. Choć zwiększa to bezpieczeństwo, automatyczne zarządzanie tym procesem przy dużym obciążeniu prowadziło do częstych przerw w działaniu systemu.

Aby temu zaradzić, wdrożono własną strategię zarządzania punktami kontrolnymi. Pozwoliło to przejąć kontrolę nad momentem zapisu i łączyć tysiące drobnych operacji w większe, bardziej efektywne partie. Dzięki temu udało się w pełni wykorzystać zalety WAL, takie jak wysoka trwałość danych i obsługa wielu jednoczesnych użytkowników, bez negatywnego wpływu na wydajność. W testach wewnętrznych przełożyło się to na nawet dwudziestokrotne przyspieszenie indeksowania w Synology Drive.

Przyspieszenie kluczowej logiki aplikacji

Gdy fundament jest już solidny, kolejnym krokiem staje się optymalizacja wewnętrznej logiki aplikacji. To proces ciągły, oparty na analizie działania kodu i systematycznym eliminowaniu wąskich gardeł, które mogą wpływać na komfort pracy użytkownika.

Szybki i responsywny interfejs użytkownika

Co sprawia, że interfejs portalu webowego Synology Drive reaguje natychmiast, gdy użytkownik wykonuje akcję, taką jak zaznaczenie grupy plików do usunięcia lub udostępnienia?

Analiza najczęstszych interakcji pokazała, że problem nie zawsze leżał po stronie bazy danych. Wąskie gardło pojawiało się w sposobie, w jaki aplikacja przetwarzała własne dane na potrzeby operacji wykonywanych w tle. Każda akcja użytkownika wymaga przygotowania pakietu informacji opisującego dane zadanie, który następnie trafia do dalszego przetwarzania. Wcześniejszy sposób realizacji tego procesu, czyli tzw. serializacji, generował istotny narzut obliczeniowy, co mogło przekładać się na odczuwalne spowolnienia interfejsu.

W ramach optymalizacji przebudowano sposób obsługi tych danych od podstaw. Efekt to wyraźnie lepsza responsywność interfejsu. W jednym z testów czas wykonania typowej operacji, polegającej na zaznaczeniu i usunięciu 100 plików w portalu webowym, skrócił się ponad 2,2 razy. To nie tylko szybsze usuwanie plików, ale przede wszystkim dowód, że usprawnienie kluczowych mechanizmów wewnętrznych przekłada się na płynniejsze i bardziej przewidywalne działanie całego systemu.

Integracja platformowa jako mnożnik wydajności

Dobrze zaprojektowana aplikacja jest wydajna, ale jej pełen potencjał ujawnia się dopiero wtedy, gdy jest ściśle zintegrowana z platformą, na której działa. W przypadku Synology Drive kluczowe znaczenie ma współpraca z systemem DiskStation Manager oraz systemem plików Btrfs.

Eliminacja opóźnień po restarcie

Wcześniej, po ponownym uruchomieniu pakietu Drive, serwer musiał wykonywać pełne skanowanie wszystkich folderów, aby wykryć zmiany wprowadzone w czasie jego wyłączenia. W środowiskach z dużą liczbą danych mogło to trwać nawet kilkadziesiąt minut, co wpływało na odczuwalną płynność działania systemu.

Zamiast obciążać aplikację tym procesem, zintegrowano ją z dedykowaną usługą śledzenia zmian działającą w ramach systemu DiskStation Manager. Usługa ta pracuje nieprzerwanie i utrzymuje historię wszystkich modyfikacji plików, niezależnie od tego, czy Drive jest aktywny.

Dzięki temu po uruchomieniu aplikacja nie musi już „szukać zmian”. Otrzymuje gotową listę modyfikacji od systemu. Cały proces, który wcześniej przypominał długą analizę śledczą, został zastąpiony szybkim i precyzyjnym zapytaniem.

Efektywne wersjonowanie plików

Zespoły kreatywne i techniczne często tworzą wiele wersji tych samych plików. Pojawia się więc pytanie: jak zapewnić pełne wersjonowanie bez gwałtownego wzrostu zużycia przestrzeni dyskowej?

Odpowiedź przyniosło wykorzystanie możliwości systemu Btrfs. Ten system plików wspiera mechanizm reflink, który pozwala tworzyć kopie plików odwołujące się do tych samych bloków danych, bez ich fizycznego powielania.

Logika wersjonowania w Drive została dostosowana do tej architektury. Dzięki temu tworzenie nowej wersji pliku jest praktycznie natychmiastowe i niemal nie zwiększa zajętości przestrzeni. W przypadku formatów, które są w całości nadpisywane przy zapisie, takich jak niektóre pliki wideo czy zaszyfrowane dane, zużycie przestrzeni naturalnie rośnie wraz z kolejnymi zmianami. W wielu typowych scenariuszach zyski w zakresie wydajności i oszczędności miejsca są jednak bardzo znaczące.

Kultura niezawodności i wydajności

Podstawowym założeniem jest prosta zasada: zaufanie do produktu zaczyna się od jego niezawodności. Droga od rozbudowanej, ciężkiej bazy danych do responsywnego interfejsu, od wolnego uruchamiania do oszczędnego wersjonowania, pokazuje konsekwencję tego podejścia.

W ramach prac nad Synology Drive przebudowano architekturę danych z myślą o skalowalności, uzyskując ponad dwudziestokrotne przyspieszenie indeksowania. Zoptymalizowano zapytania, co znacząco ograniczyło zużycie procesora, oraz pogłębiono integrację z platformą, co przełożyło się na większą efektywność wykorzystania przestrzeni dyskowej.

Efektem tych działań jest system zaprojektowany pod realne, wymagające scenariusze pracy. Nie chodzi wyłącznie o pojedyncze usprawnienia, ale o spójne podejście, w którym każdy element — od bazy danych po interfejs użytkownika — jest stale analizowany i optymalizowany.

To właśnie ta filozofia sprawia, że złożoność pozostaje „pod maską”, a użytkownik otrzymuje rozwiązanie szybkie, oszczędne i stabilne w codziennym użyciu.

Dowiedz się więcej

Dowiedz się więcej o Synology Drive lub kliknij, aby skonsultować się z ekspertem Synology tutaj.