Znajomi bardzo często zadają mi pytanie co zrobić, żeby Lightroom działał szybciej. Otwarcie programu trwa wieki, przeszukiwanie katalogu zdjęć trwa więcej niż era dinozaurów a podgląd wyskakuje w takim tempie, że czasem odechciewa się przeglądać zdjęcia z sesji.
Wydajność Lightrooma oczywiście w ogromnym stopniu zależy od prędkości komputera, a sztuczek na zwiększenie wydajności jest wiele. Jednym z najprostszych sposobów na poprawienie wydajności komputera jest instalacja dysku SSD – jesteśmy w stanie skrócić tym prostym zabiegiem czas startu systemu operacyjnego do kilkunastu sekund, a aplikacje w zasadzie starują od ręki. Problem w tym, że dyski półprzewodnikowe są relatywnie drogie w stosunku do oferowanych pojemności. Za 500 zł dostaniemy mniej więcej 500 GB dysku SSD lub 3TB dysku tradycyjnego, a zdjęcia lubią mieć miejsce, więc mamy klasyczny dylemat za krótkiej kołdry.
Jeśli jeszcze nasz komputer działał z dyskiem magnetycznym, to samo dorzucenie dysku SSD wiele zmieni w kontekście poprawienia wydajności systemu. Nie musimy da ten dysk przenosić wszystkich danych, warto więc wiedzieć które najlepiej trzymać na szybkim dysku SSD.
Lightroom korzysta z dysków do trzech rzeczy: zapisywania zdjęć, zapisywania danych podręcznych i zapisywania danych katalogowych. Pierwsza kategoria danych, jest najbardziej dyskożerna, ale na szczęście nie koniecznie dyski muszą być szybkie. To dlatego, że w czasie obróbki zdjęć Lightroom wykorzystuje dane przechowywane w pamięci podręcznej i w katalogu z podglądem (preview). Natomiast wszelkie operacje związane z wyszukiwaniem zdjęć, przełączaniem kolekcji itp. przechowywane są w katalogu. Dla tych trzech kategorii danych możemy oddzielnie ustalać lokalizację w których Lightroom je przechowuje.
Katalog, pliki podglądu i pamięć podręczną najlepiej umieścić na najszybszym możliwym dysku. Jeśli dysponujemy kilkoma dyskami to najlepiej umieścić pamięć podręczną i pliki podglądu na różnych dyskach, by wzajemnie nie odbierały sobie pasma przesyłu danych. W kanałach SATA dyski pracują niezależnie i w gdy mamy średnią prędkość 500 MB/s na kanał to na dwóch dyskach uzyskamy 1000 MB/s.
Różne twarze SSD
Najstarsze rozwiązania SSD to dyski w postaci dysków SATA. Podpina się je jak trdycyjne dyski HDD do kontrolera za pomocą kabla SATA, a system operacyjny widzi je jak zwykłe dyski z całą ich strukturą logiczną: głowicami, cylindrami i talerzami. Komunikacja SATA została tak pomyślana, żeby maksymalnie przyspieszyć zapis i odczyt na dyskach talerzowych, uwzględnia więc na przykład kolejność odczytywania danych by zoptymalizować ruch głowicy. Zadania odczyt też są kolejkowane po to właśnie by zmaksymalizować transfer. W przypadku dysków półprzewodnikowych takie udawanie kogoś innego ma o tyle sens, że jesteśmy w stanie bezboleśnie podmienić dysk tradycyjny na SATA i tym samym tchnąć nowe życie np. w laptopa. Ale rezygnacja z całego narzutu związanego z logiką SATA może przynieść bardzo wymierne korzyści pod względem wydajności. Tak powstały dyski SSD wykorzystujące protokół NVMe. Można je podłączyć przez złącze PCI-Express, albo M.2. Różnica w wydajności jest gigantyczna. O ile dyski SATA są w stanie odczytywać dane z prędkością około 500MB/s, a zapisywać z prędkością 400MB/s o tyle podlączone do PCI-Express albo M.2 i wykorzystujące NVMe osiągają bez trudu 2-2,5GB/s przy odczycie i 1,5-2GB/s przy zapisie.
W dyskach SSD jest ważny jeszcze jeden parametr – ilość operacji wejścia-wyjścia na sekundę jaką są w stanie wykonać. O ile najlepsze dyski talerzowe zbliżają się do wartości 300 operacji na sekundę, o tyle 5-10 tys. operacji dla dysku SSD nie jest wynikiem zaskakującym, a kiedy do dysku kierowana jest SSD cała paczka różnych operacji to wskaźnik ten szybuje do dziesiątek tysięcy. To jest główna przyczyna dla której dyski SSD tak dobrze nadają się na posadowienie systemu operacyjnego i tak dobrze spisują się w przechowywaniu plików baz danych. To też sprawia, że dyski SSD tak doskonale spisują się w Lightroomie, który informacje o operacjach wykonywanych na zdjęciach przechowuje właśnie w bazie danych. Umieszczenie jej na dysku SSD radykalnie przyspiesza działanie Lightrooma.
W testach wykorzystałem dwa rodzaje dysków firmy A-Data – model SU650 w pojemnościach 240 i 120 GB oraz dyski w formie kart M.2, modele SX6000 Pro o pojemności 512 MB i SX8200 o pojemności 480GB. Wszystkie przypinane były do komputera z płytą główną ASUS X99-A i ośmiordzeniowym procesorem Xeon E5-2630 v3, o częstotliwości zegara 2.2 GHz. Na dysku tradycyjnym zainstalowany był Windows 10, zawartość partycji systemowej skopiowałem po kolei na dyski SSD. Oto jak przedstawiały się wydajności poszczególnych dysków zmierzone za pomocą programu HD-tune Pro:
Dysk | Odczyt (MB/s) | Zapis (MB/s) | IO odczyt (IO/s) | IO zapis (IO/s) |
HDWD110 | 162 | 155 | 95 | 290 |
SU650 | 431 | 332 | 8 565 | 4 911 |
2xSU650 RAID 0 | 966 | 705 | 16 593 | 7 058 |
SX6000 M.2 | 1 224 | 1 136 | 9 119 | 6 014 |
SX8200 M.2 NVMe | 1 593 | 1 376 | 9 859 | 6 737 |
Syntetyczne pomiar prędkości odczytu i zapisu to jedno, ale znacznie ważniejsze jest jak to przekłada się na praktykę pracy z Lightroomem. Na poniższym wykresie widać ile zyskujemy po zainstalowaniu różnego rodzaju dysków SSD. Operacja liczona od momentu startu systemu operacyjnego (po inicjalizacji BIOS) aż do momentu kiedy można edytować zdjęcie w Lightroomie. Zwykłe przeniesienie danych na najprostszy dysk SSD przyspiesza niemal trzykrotnie system. Prawdziwych skrzydeł system dostaje po zainstalowaniu 2 dysków SATA połączonych w macierz RAID 0, a gdy mamy możliwość zainstalowania urządzeń obsługujących NVMe to możemy liczyć na kolejny wzrost wydajności. Dość powiedzieć, że na najszybszym dysku, SX8200 podłączonym przez interfejs PCI-E (na przejściówce) system potrzebował minutę i piętnaście sekund, od włączenia do momentu kiedy możemy edytować zdjęcia.
Start systemu to nie wszystko. Znacznie ważniejsza jest późniejsza praca z programem. W celu zmierzenia przyrostu prędkości sprawdzałem ile czasu potrzeba na wyszukanie w katalogu zawierającym 230 tys. zdjęć wszystkich plików które miały cyfry 22 w dowolnym polu tekstowym (nazwie, słowach kluczowych, tagach itp). Pomiar kończył się w momencie kiedy ostatnia miniaturka pojawiła się na ekranie. Poniższy wykres pokazuje czas dla poszczególnych konfiguracji.
Ciekawym jest pytanie czy drugi dysk SSD może coś zmienić. Z pewnością połączenie dysków SATA w RAID 0 radykalnie poprawia wydajność systemu, więc lepiej jest kupić 2 dyski o mniejszej pojemności niż jeden o większej, jeśli tylko mamy wystarczająco dużo złącz SATA na płycie głównej. Zwykle tych złączy jest tak dużo, że nie będzie to stanowiło problemu, podobnie jest z obsługą RAID – obecnie trudno znaleźć płytę główną, która tego nie oferuje.
Okazuje się, że już samo wykorzystanie dysku SSD ma fundamentalne znaczenie dla poprawy wydajności, bo obserwujemy niemal trzykrotny wzrost (dwukrotny wzrost daje samo przeniesienie katalogu na inny fizycznie dysk niż dysk systemowy). Dodatkowy skok wydajności można uzyskać przenosząc bazę danych (pliki lrcat) Lightrooma na dysk inny niż systemowy – zyskamy dodatkowe 40%. Co ciekawe składowanie samych zdjęć na szybkim dysku SSD nie podnosi już radykalnie wydajności, zyskamy raptem dodatkowe 10%. Pewnym zaskoczeniem może okazać się fakt, że jak importujemy dane na dysk systemowy SSD i tam trzymamy katalog Lightrooma to mamy wolniejsze rozwiązanie niż w przypadku przeniesienia danych Loghtrooma. Warto zapamiętać, że trzymanie katalogu Lightrooma na dysku systemowym jest złą strategią, jeśli chcemy autentycznie przyspieszyć działanie programu musimy zainwestować w dysk na którym trzymamy tylko katalog (zwłaszcza jeśli jest obszerny).
W teście udział wzięły następujące dyski:
Adata SU650
Adata SX6000 Pro
SX8200 Pro
Brak komentarzy do "SSD i Lightroom"