Bezpiecznie wyczyść ostrzeżenie ownCloud Apache .htaccess
Ustaw opcję AllowOverride All tylko dla głównego katalogu internetowego ownCloud, sprawdź aktywny vhost Apache i bezpiecznie przeładuj, aby przywrócić reguły .htaccess.
W przypadku ownCloud 10 zacznij od wprowadzenia zmian schematu dostarczonych przez zainstalowane jądro i aplikacje, a następnie sprawdź, które zapytania do bazy danych są faktycznie powolne. Nie dodawaj indeksów bezmyślnie ani nie zakładaj, że polecenie Nextcloud db:add-missing-indicesjest obsługiwanym poleceniem naprawy ownCloud 10: aktualna dokumentacja OCC serwera ownCloud 10.15 tego nie dokumentuje. Indeksy mogą przyspieszyć odczytywanie danych, ale każdy dodany indeks zużywa pamięć masową i zwiększa nakład pracy związany z wstawianiem, aktualizacją i usuwaniem danych.
To podejście jest odpowiednie dla administratora, który ma powolne działanie strony ownCloud, listy plików lub aplikacji i ma dostęp do serwera i bazy danych. Jeśli cała instancja działa wolno lub działa na serwerze SQLite z wieloma aktywnymi użytkownikami, należy sprawdzić ogólną konfigurację bazy danych i wdrożenia, zanim uzna się, że przyczyną są indeksy.
Indeks bazy danych to struktura pomocnicza, która pomaga bazie danych lokalizować wiersze bez konieczności skanowania całej tabeli. Własna platforma chmurowa i jej aplikacje definiują tabele, kolumny i indeksy jako część swojego schematu. Aktualizacje rdzenia i aplikacji mogą obejmować migracje schematów, które tworzą lub dostosowują te indeksy. Dlatego najbezpieczniejszym pierwszym krokiem jest utrzymanie aktualności schematu aplikacji.
Przed wprowadzeniem jakichkolwiek zmian należy zastosować się do poniższych rozróżnień:
Indeks nie jest ogólnym przełącznikiem szybkości. Większa liczba indeksów może usprawnić wybrane wyszukiwania, jednocześnie zwiększając rozmiar bazy danych i opóźnienie zapisu. Wynik zależy od kształtu zapytania, rozmiaru tabeli, dystrybucji danych, silnika bazy danych i stanu pamięci podręcznej.
sudo -u www-data ./occ status. Zanotuj wersję ownCloud, zainstalowane wersje aplikacji, typ bazy danych i prefiks tabeli z polecenia config/config.php. Zastąp je www-datakontem serwera WWW w swojej dystrybucji.mysqldump --single-transactionjako przykład dla baz danych zgodnych z MySQL; dostosuj wartości hosta, użytkownika i bazy danych do swojej konfiguracji. Nie umieszczaj hasła do bazy danych bezpośrednio w historii powłoki ani na liście procesów.Jeśli aktualizacja jądra lub aplikacji ownCloud jest w toku, skorzystaj z udokumentowanego procesu aktualizacji dla wybranej metody instalacji. W przypadku konwencjonalnej instalacji systemu Linux polecenie OCC jest uruchamiane jako użytkownik HTTP z katalogu głównego ownCloud. Postępując zgodnie z instrukcjami ręcznej aktualizacji, polecenie wygląda następująco:
sudo -u www-data ./occ upgrade
Nie uruchamiaj go w instalacji, której pliki zostały zaktualizowane tylko częściowo. Najpierw przygotuj pliki odpowiadające wydaniu i postępuj zgodnie z oficjalnymi instrukcjami aktualizacji dla tego wydania. W przypadku wdrożeń Dockera użyj udokumentowanego wywołania OCC kontenera, a nie ścieżki hosta wskazującej na inne środowisko PHP.
Przeczytaj pełne dane wyjściowe polecenia i logi. Pomyślne polecenie powinno zakończyć się bez zgłoszenia nieudanej migracji; nie gwarantuje to, że każde wolne zapytanie zostanie naprawione. Jeśli aktualizacja zgłosi błąd migracji, przerwij i zbadaj ten błąd, zamiast wielokrotnie uruchamiać polecenie lub ręcznie edytować tabele schematu. W przypadku migracji aplikacji zapoznaj się z dokumentacją aktualizacji ownCloud dla danej wersji oraz z opiekunem aplikacji.
Dokumentacja OCC ownCloud 10.15 wymienia polecenia bazy danych, takie jak db:convert-type, db:convert-mysql-charseti db:restore-default-row-format, ale nie zawiera db:add-missing-indices. Ponieważ dostępność poleceń może się różnić w zależności od wersji i zainstalowanego kodu, możesz sprawdzić swoją instancję za pomocą sudo -u www-data ./occ list db. sudo -u www-data ./occ help db:add-missing-indicesJeśli ten drugi zgłosi nieznane polecenie, nie kopiuj polecenia z samouczka NextCloud do ownCloud. Sprawdź dokumentację swojej wersji ownCloud i skorzystaj z obsługiwanej ścieżki aktualizacji lub migracji aplikacji.
Manualne SQL to opcja administratora bazy danych w przypadku problemu ze zweryfikowanym zapytaniem, a nie rutynowa optymalizacja ownCloud. Najpierw przechwyć dokładne, wolne zapytanie i uruchom narzędzie do inspekcji planu silnika, takie jak EXPLAINdla MySQL/MariaDB lub PostgreSQL. Sprawdź, czy plan skanuje niepotrzebnie dużą liczbę wierszy i czy istniejący indeks jest ignorowany. Prefiks tabeli ownCloud jest konfigurowalny, więc nigdy nie zakładaj, że nazwy tabel zaczynają się od oc_.
Przed utworzeniem indeksu należy porównać proponowane kolumny z filtrami, sprzężeniami i kolejnością sortowania zapytania. Kolejność kolumn w indeksie złożonym ma znaczenie; powielenie istniejącego indeksu może zwiększyć koszty bez poprawy planu. Poproś administratora baz danych o uwzględnienie zachowania wersji bazy danych, obsługi budowania indeksów online lub współbieżnie, wolnego miejsca na dysku, wpływu na blokadę oraz procedury wycofywania. Szczegóły te zależą od silnika i wersji, dlatego nie ma jednego bezpiecznego polecenia SQL dla każdej instalacji ownCloud 10.
Nie modyfikuj tabel ownCloud ani nie usuwaj indeksów tylko dlatego, że nazwa wydaje się zbędna. Takie zmiany mogą kolidować z późniejszą migracją rdzenia lub aplikacji i mogą uszkodzić funkcję, która używa innego zapytania niż to, które zostało sprawdzone. Prowadź pisemny zapis wszelkich ręcznych zmian schematu i upewnij się, że można je odtworzyć po przywróceniu lub migracji. Jeśli brakujący indeks jest defektem schematu produktu, wybierz obsługiwaną poprawkę ownCloud lub wersję aplikacji.
Jeśli plan korzysta już z odpowiedniego indeksu, dodanie kolejnego raczej nie naprawi opóźnienia spowodowanego gdzie indziej. Porównaj te opcje z zaobserwowanym wąskim gardłem:
Zmiana silników bazy danych to projekt migracji, a nie szybka modyfikacja indeksu. ownCloud zapewnia occ db:convert-typeobsługiwane konwersje; sprawdź ich wymagania wstępne, najpierw wykonaj kopię zapasową i przetestuj przekonwertowaną instancję, zanim przekażesz ją użytkownikom.
Powtórz tę samą czynność użytkownika w porównywalnych warunkach i porównaj czas trwania zapytania, plan wykonania, przeanalizowane wiersze, operacje wejścia/wyjścia bazy danych oraz obciążenie serwera. Upewnij się, że odpowiednia strona lub aplikacja ownCloud działa prawidłowo i że logi nie wykazują błędów bazy danych ani migracji. Szybszy wynik dla jednego żądania nie świadczy o ogólnej poprawie; porównaj kilka reprezentatywnych żądań i uwzględnij ciepłe pamięci podręczne.
Jeśli to samo zapytanie nadal działa wolno, mimo że korzysta z odpowiedniego indeksu, należy sprawdzić blokady, pamięć masową, opóźnienia sieciowe, procesy PHP i limity zasobów bazy danych. Jeśli plan zapytania lub struktura tabeli są niejasne, należy przerwać pracę przed ręcznym wykonaniem instrukcji DDL i poprosić administratora baz danych lub osobę kontaktową ds. wsparcia ownCloud o ich sprawdzenie. Wiarygodnym rezultatem jest schemat zgodny z zainstalowaną wersją ownCloud i przemyślane zapytania, bez nieśledzonych zmian indeksu.
Ustaw opcję AllowOverride All tylko dla głównego katalogu internetowego ownCloud, sprawdź aktywny vhost Apache i bezpiecznie przeładuj, aby przywrócić reguły .htaccess.
Włącz aplikację Enterprise Auditing firmy ownCloud, kieruj zdarzenia admin_audit do chronionego pliku dziennika i upewnij się, że rejestrowane są rzeczywiste działania użytkowników.
Wydawca domeny, klient sieciowy i użytkownik Keycloak są zgodne z oświadczeniami, dzięki którym ownCloud Infinite Scale może niezawodnie logować użytkowników za pośrednictwem klientów sieciowych i mobilnych.
Przenieś swoje pliki i udziały wychodzące za pomocą polecenia occ usługi ownCloud, sprawdź, co pozostaje, i zweryfikuj dostęp przed usunięciem starego konta.
Dowiedz się, kiedy indeksy bazy danych ownCloud 10 wymagają uwagi, jak bezpiecznie stosować obsługiwane aktualizacje schematu oraz kiedy lepszym rozwiązaniem jest dostrojenie zapytań lub zmiana bazy danych.
Podłącz udostępniony w sieci dysk Windows lub Samba do ownCloud za pośrednictwem pamięci zewnętrznej, zweryfikuj dane uwierzytelniające i bezpiecznie rozwiąż problemy z niedostępnymi folderami.
Usuń każdą zapisaną wersję pliku ownCloud Server Classic dla jednego konta lub wszystkich użytkowników i odróżnij pełne usunięcie od wygaśnięcia na podstawie okresu przechowywania.
Śledź odmowę połączenia mobilnego ownCloud, sprawdzając we właściwej kolejności adres URL serwera, sieć telefoniczną, punkt końcowy HTTPS i dzienniki serwera.
Zastąp zadania wykonywane na żądanie timerem systemd, który co 15 minut uruchamia polecenie occ system:cron obsługiwane przez ownCloud.
Prześledź żądanie WebDAV przez Apache, Nginx lub odwrotny serwer proxy, a następnie sprawdź, czy synchronizacja ownCloud działa za pomocą uwierzytelnionego testu PROPFIND.