Lukasz Garb 0 Napisano 20 Listopada 2019 Udostępnij Napisano 20 Listopada 2019 w Czyszczenie bazy INSERTGT (edytowane) Witam, Użytkujemy SubiektaGT już 7 lat i powoli zaczynamy mieć problemy pod kątem wydajności. Baza w chwili obecnej ma 5 GB, tabela dok__Dokument ma 0.5 M wierszy, natomiast tabela dok_Pozycja dochodzi do 4M wierszy. W subiekcie jeśli wejdziemy na jakiś towar i klikniemy na kalkulacje cen to często trzeba czekać około 30 sekund na odpowiedź. W związku z tym pytanie czy istniej jakiś standardowy sposób/program na wyczyszczenie bazy i pozostawienie tylko bazę towarów, klientów i rozrachunki? Dodam to tego, że zależy mi na tym aby klucze główne tabel tw__Towar, kh__Kontrahent nie zostały zmienione, ponieważ tabele te są później zaciągane do programu Power BI. Mam nadzieję, że znajdę tutaj osoby, które za rozsądne pieniądze pomogą mi rozwiązać powyższy problem. Pozdrawiam, Łukasz Garb lukasz.garb@gmail.com Edytowane 21 Listopada 2019 przez Lukasz Garb poprawka Link to postu
Daniel Kozłowski 1 171 Napisano 20 Listopada 2019 Udostępnij Napisano 20 Listopada 2019 w Czyszczenie bazy INSERTGT Temat już był poruszany na tym forum: . Link to postu
Mamut Maniek 114 Napisano 21 Listopada 2019 Udostępnij Napisano 21 Listopada 2019 w Czyszczenie bazy INSERTGT U nas pomaga odbudowa indeksów. Link to postu
Daniel Kozłowski 1 171 Napisano 21 Listopada 2019 Udostępnij Napisano 21 Listopada 2019 w Czyszczenie bazy INSERTGT 1 godzinę temu, maniootek • napisał: U nas pomaga odbudowa indeksów. Co to znaczy "pomaga" - jakie są czasy wyświetlenia kalkulacji cen dla powiedzmy 3 najczęściej sprzedających się towarów przed odbudową indeksów i po odbudowie ? Nie ma takiej możliwości, aby odbudowa indeksów rozwiązała problemy wydajnościowe w zgłoszonych obszarach przy takich bazach danych, oczywiście mniej lub więcej przyspieszy te operacje lecz ten sam czas dla kogoś będzie zadowalający, a dla kogoś nieakceptowalny... Poza tym nie dopuszcza takiej możliwości, że przy bazie danych z taką ilością dokumentów nie jest już wykonywana regularna odbudowa indeksów (pytanie do autora wątku) ? Link to postu
Lukasz Garb 0 Napisano 21 Listopada 2019 Autor Udostępnij Napisano 21 Listopada 2019 w Czyszczenie bazy INSERTGT 3 godziny temu, Daniel Kozłowski napisał: Poza tym nie dopuszcza takiej możliwości, że przy bazie danych z taką ilością dokumentów nie jest już wykonywana regularna odbudowa indeksów (pytanie do autora wątku) ? Indeksy są odbudowywane raz w miesiącu. Niestety nie ma tutaj znaczącej poprawy. Poszukuje rozwiązania, które by poprawiło wydajność przynajmniej o rząd wielkości (30s -> 3s) lub dwa (30s -> 0.3s). Dwa lata temu kiedy, zmienialiśmy sprzęt i tradycyjne dyski twarde spięte w RAID 1 (niezawodność) zostały zastąpione dyskiem SSD (wydajność) uzyskaliśmy oczekiwaną poprawę. Od tego czasu baza danych rośnie w bardzo szybkim tempie i po raz kolejny musimy się zmierzyć z problemem wydajności. Jeśli chodzi o samo okienko "kalkulacja cen" w widoku towary i usługi to podejrzewam, że odbudowa indeksów mogłaby załatwić sprawę, ale tylko pod warunkiem wyłączenia poniższych kalkulacji: Czy któryś z Panów potrafi wyłączyć obliczanie minimalnej, średniej, ostatniej, etc. cen sprzedaży? Link to postu
Daniel Kozłowski 1 171 Napisano 22 Listopada 2019 Udostępnij Napisano 22 Listopada 2019 w Czyszczenie bazy INSERTGT 19 godzin temu, Lukasz Garb napisał: Indeksy są odbudowywane raz w miesiącu. Niestety nie ma tutaj znaczącej poprawy. Czyli dokładnie tak, jak przewidywałem. 19 godzin temu, Lukasz Garb napisał: Poszukuje rozwiązania, które by poprawiło wydajność przynajmniej o rząd wielkości (30s -> 3s) lub dwa (30s -> 0.3s). I to jest bardzo słuszny cel. 19 godzin temu, Lukasz Garb napisał: Dwa lata temu kiedy, zmienialiśmy sprzęt i tradycyjne dyski twarde spięte w RAID 1 (niezawodność) zostały zastąpione dyskiem SSD (wydajność) uzyskaliśmy oczekiwaną poprawę. No to było bardzo, bardzo biednie, RAID10 robi już znacząco różnicę, dyski SSD też można łączyć w macierze, trudniej, ale można... To sugeruje też, że może pomóc przejście na pełny serwer SQL (można wykonać testy), dyski SSD tylko na jakiś czas omijają ograniczenie cache w darmowej wersji serwera SQL. 20 godzin temu, Lukasz Garb napisał: Od tego czasu baza danych rośnie w bardzo szybkim tempie i po raz kolejny musimy się zmierzyć z problemem wydajności. Pełny SQL i optymalizacja jest nieunikniona, alternatywa to również przez Pana sugerowane usunięcie danych. Należy mieć na uwadze, że optymalizacja to nie jest jednorazowa usługa, należy nanosić zmiany wraz z ilością danych i kolejnymi wersjami programów. 20 godzin temu, Lukasz Garb napisał: Czy któryś z Panów potrafi wyłączyć obliczanie minimalnej, średniej, ostatniej, etc. cen sprzedaży? Oferujemy praktycznie wszystkie usługi związane z programami Insertu poza wydrukami tekstowymi, pod warunkiem, że są nam po drodze i znajdziemy na to czas. Wyłączenie wyliczania poziomów cen to jedna z możliwości przy rozwiązywaniu problemów w tym obszarze (kalkulacja cen), w planach mam gotowe rozwiązanie do tego, ale jak wiele innych musi poczekać na interfejs użytkownika, na razie jest przygotowywane, instalowane i utrzymywane wdrożeniowo. Link to postu
Paweł Rózga 0 Napisano 27 Listopada 2019 Udostępnij Napisano 27 Listopada 2019 w Czyszczenie bazy INSERTGT Moja baza ma 120GB działam na pełnym SQL. SQL radzi sobie naprawdę z dużymi bazami danych. Musi mieć jednak właściwe warunki pracy. Podstawa to dyski SSD i duża ilość RAM na serwerze oraz na stacjach roboczych. To kluczowa sprawa która radykalnie zmienia szybkość działania. Proponuję dla próby wymienić w jednej stacji dysk na SSD i zainstalować 8GB Ram. Nie zapominajmy o również o wydajności sieci kart sieciowych i swicha. Jeżeli całość jest spięta na przełączniku 10MB/s za 50 zł to nie da rady. Jakość kabli też ma znaczenie. Każde przekłamanie w transmisji powoduje konieczność powtórnego przesłania tej samej informacji ponownie. Częstym błędem jest instalowanie na serwerze systemu operacyjnego innej generacji niż serwer. Nowsze oprogramowanie nie może skorzystać z oczekiwanych rozwiązań sprzętowych i ostatecznie działa wolniej. Odbudowa indeksów robiona zdecydowanie częściej. Zalecana codzienna indeksacja. Robi to automat w nocy. Kolejna sprawa to ustawienia filtrów. Przy codziennej pracy filtry powinny być ustawione na 7 ostatnich dni. Jeżeli są ustawione na czas nieokreślony za każdym razem zaczytywana jest cała lista dokumentów, rozliczeń i innych danych, które powodują opóźnienia u wszystkich użytkowników. Dobrze jest również przynajmniej raz w tygodniu zrestartować serwer. Użytkownicy często niepoprawnie wylogowują się z systemu. W takich sytuacjach na serwerze "wiszą" nierozłączone połączenia z bazą danych. Takie sytuacje w praktyce bardzo spowalniają pracę. Na koniec trzeba też zwrócić uwagę na inne czynności wykonywane na stacjach roboczych nie koniecznie związane z podstawowymi działaniami. Link to postu
Daniel Kozłowski 1 171 Napisano 27 Listopada 2019 Udostępnij Napisano 27 Listopada 2019 w Czyszczenie bazy INSERTGT Pawle, Twój przypadek jest inny niż tutaj opisywane, u Ciebie rozmiar bazy danych wynika z wiadomości e-mail, a nie z dokumentów i "serwer w cenie dobrego samochodu osobowego" nie rozwiąże większości problemów wydajnościowych... Link to postu
Paweł Rózga 0 Napisano 28 Listopada 2019 Udostępnij Napisano 28 Listopada 2019 w Czyszczenie bazy INSERTGT Daniel, jesteś guru w kwestiach oprogramowania INSERT i doceniam Twoją wiedzę. Próbuje uświadomić użytkownikom nie Tobie, że z g.... bata nie ukręcisz. Jak wystawiasz ok 150 tyś dokumentów rocznie to przy tej skali działalności niestety trzeba zamiast samochodu zainwestować w sprzęt. Takie życie. Użytkując dowolną bazę danych, jak osiągnie się granicę wydajności ze względu na ilość rekordów, bez inwestycji w sprzęt nie da się ruszyć dalej. "Dobry" serwer oraz "dobre" stacje robocze zdecydowanie pomagają w rozwiązaniu problemów wydajnościowych. Z drugiej strony optymalizacja oprogramowania ma ogromny wpływ na wykorzystanie posiadanych mocy przetwarzania danych przez serwer. Tu pojawia się pytanie czy w przypadku oprogramowania INSERT tak jest. Jestem przekonany, że jest duże pole do działania w tym zakresie na który nie mamy wpływu. Pozostaje więc inwestycja w sprzęt. Wiem z autopsji, że wymiana sprzętu daje efekt. Innym rozwiązaniem jest otwieranie co roku nowej bazy ze wszystkimi konsekwencjami ograniczeń w dostępie do danych historycznych lub częściowe usuwanie danych historycznych. W tym wypadku Klient oczekuje usunięcia części bazy danych, a nie porad technicznych i wydajnościowych. Należy usunąć zbędne dane historyczne i zadowolić klienta zgodnie z jego oczekiwaniami. Przepraszam dałem się podpuścić w zbędną dyskusję. Powodzenia Link to postu
Radosław Kostrzewa 808 Napisano 28 Listopada 2019 Udostępnij Napisano 28 Listopada 2019 w Czyszczenie bazy INSERTGT Wtrącając się do dyskusji, należy pamiętać, że oprogramowanie pudełkowe (nie tylko InsERT-u) w klasycznej komunikacji klient-serwer sql (gdzie jeszcze sporo funkcjonalności opiera się na procedurach bazodanowych) będzie miało swoje ograniczenia wydajnościowo w korelacji do zasobów sprzętowych i kosztów związanych z bieżącymi konserwacjami takich baz. Sytuacja zaczyna się już trochę zmieniać w przypadku oprogramowania dla firm będących obiektowymi rozwiązaniami (baza służy tylko do zapisu i odczytu danych). Jednak przypadek nexo nie będzie tutaj dobrą kalką, gdyż sama pewna funkcjonalność w programie, skrojona pod pewnie 'uniwersum' użytkowe, też może powodować problemy na końcówkach przy dużej liczbie obiektów. Dopiero faktycznie rozwiązania klasy ERP mają takie mechanizmy jak np. serwery aplikacji (odpowiadające za komunikację klient-serwer a nie klient-baza), realizujące zapisy do bazy hurtowo (a nie per pozycja, wielokrotnie 'mielenie' insertów i update'ów nawet z kontekstu jednego dokumentu), gdzie utrzymanie dużych baz jest po prostu wygodniejsze. W przypadku InsERT bez problemu jednak utrzymujemy bazy i po ponad 100 GB. Bardziej jest zasadnicze, jakie tabele mają wpływ na wielkość bazy. Link to postu
Dominik Lachowski 1 Napisano 12 Października 2020 Udostępnij Napisano 12 Października 2020 w Czyszczenie bazy INSERTGT Odświeżam temat. Potrzebuję wyczyścić bazę ze wszystkich dokumentów (FZ, FS, PA, WZ, PZ, kasowe itd). Chcę uzyskać bazę ze wszystkimi ustawieniami jakie przez lata wprowadziliśmy, kartotekami itd, jednak zupełnie bez dokumentu. Wspomoże ktoś jakimś poleceniem SQL? Musze odciąć sprzedaż z z pewnego okresu i od nowego mieć świeżą bazę. Tworzenie nowej bazy traktuję jako rozwiązanie ostateczne. Wprowadzanie do niej wszystkich ustawień, pół własnych, cech, kartotek, indywidualnych wzorców wydruku, kategorii itd., będzie w mojej ocenie bardziej czasochłonne. Link to postu
Daniel Kozłowski 1 171 Napisano 12 Października 2020 Udostępnij Napisano 12 Października 2020 w Czyszczenie bazy INSERTGT 5 godzin temu, Dominik Lachowski napisał: Potrzebuję wyczyścić bazę ze wszystkich dokumentów (FZ, FS, PA, WZ, PZ, kasowe itd). Chcę uzyskać bazę ze wszystkimi ustawieniami jakie przez lata wprowadziliśmy, kartotekami itd, jednak zupełnie bez dokumentu. Wspomoże ktoś jakimś poleceniem SQL? Co do zasady nikt nie udostępnia takich narzędzi, operacje takie wykonywane są jako usługa, po przesłaniu bazy danych lub zdalnie. Link to postu
Radosław Kostrzewa 808 Napisano 12 Października 2020 Udostępnij Napisano 12 Października 2020 w Czyszczenie bazy INSERTGT 13 godzin temu, Dominik Lachowski napisał: Odświeżam temat. Potrzebuję wyczyścić bazę ze wszystkich dokumentów (FZ, FS, PA, WZ, PZ, kasowe itd). Chcę uzyskać bazę ze wszystkimi ustawieniami jakie przez lata wprowadziliśmy, kartotekami itd, jednak zupełnie bez dokumentu. Wspomoże ktoś jakimś poleceniem SQL? Musze odciąć sprzedaż z z pewnego okresu i od nowego mieć świeżą bazę. Tworzenie nowej bazy traktuję jako rozwiązanie ostateczne. Wprowadzanie do niej wszystkich ustawień, pół własnych, cech, kartotek, indywidualnych wzorców wydruku, kategorii itd., będzie w mojej ocenie bardziej czasochłonne. Jesteśmy w stanie zrealizować to jako usługę. Ale uwaga, jeśli optymalizacja bazy wynikałaby z konieczności zostawienia dokumentów od pewnego okresu - a nie wycięcia wszystkiego co było - nie mamy w tym momencie możliwości czasowych na oprogramowanie przepięcia dostaw pozostających dokumentów na dokument inwentaryzacyjny PW - byłoby to też bardzo kosztowne. W takim przypadku może wystarczy eksport dokumentów do EPP a potem import w wyczyszczonej bazie. Mamy też narzędzie które analizuje kolejność dokumentów, by potem zbiorczo wywołać skutki na zaimportowanych dokumentach. Link to postu
Dominik Lachowski 1 Napisano 13 Października 2020 Udostępnij Napisano 13 Października 2020 w Czyszczenie bazy INSERTGT 15 godzin temu, Daniel Kozłowski napisał: Co do zasady nikt nie udostępnia takich narzędzi, operacje takie wykonywane są jako usługa, po przesłaniu bazy danych lub zdalnie. Dzięki za wiadomość. Nie zaglądam na forum SGT i liczyłem że jest tutaj też "grupa wsparcia" jak na forum Sello 8 godzin temu, Radosław Kostrzewa napisał: Jesteśmy w stanie zrealizować to jako usługę. Ale uwaga, jeśli optymalizacja bazy wynikałaby z konieczności zostawienia dokumentów od pewnego okresu - a nie wycięcia wszystkiego co było - nie mamy w tym momencie możliwości czasowych na oprogramowanie przepięcia dostaw pozostających dokumentów na dokument inwentaryzacyjny PW - byłoby to też bardzo kosztowne. W takim przypadku może wystarczy eksport dokumentów do EPP a potem import w wyczyszczonej bazie. Mamy też narzędzie które analizuje kolejność dokumentów, by potem zbiorczo wywołać skutki na zaimportowanych dokumentach. Podrzuć cenę usługi. Do wyczyszczenia są wszystkie dokumenty jakie znajdują się w bazie. Po czyszczeniu baza ma wyglądać jakbym zaczynał działalność na nowo, zachowując jednocześnie wszystkie dotychczasowe ustawienia (pola własne, wzorce wydruków, zestawienia, cechy itp.) oraz kartoteki towarowe i kontrahentów. Przyznam się, że próbowałem. Utknąłem na nz_FinanseSplata i na tą chwile nie mam pomysłu jak to obejść. Link to postu
Radosław Kostrzewa 808 Napisano 13 Października 2020 Udostępnij Napisano 13 Października 2020 w Czyszczenie bazy INSERTGT 5 godzin temu, Dominik Lachowski napisał: Dzięki za wiadomość. Nie zaglądam na forum SGT i liczyłem że jest tutaj też "grupa wsparcia" jak na forum Sello Podrzuć cenę usługi. Do wyczyszczenia są wszystkie dokumenty jakie znajdują się w bazie. Po czyszczeniu baza ma wyglądać jakbym zaczynał działalność na nowo, zachowując jednocześnie wszystkie dotychczasowe ustawienia (pola własne, wzorce wydruków, zestawienia, cechy itp.) oraz kartoteki towarowe i kontrahentów. Przyznam się, że próbowałem. Utknąłem na nz_FinanseSplata i na tą chwile nie mam pomysłu jak to obejść. Cena, w zależności od szczegółów - nie mniej niż 500, nie więcej niż 1000. Tutaj mogę Ci podpowiedzieć. Przed usuwaniem wyłącz wszystkie triggery i constrainty. Link to postu
Daniel Kozłowski 1 171 Napisano 13 Października 2020 Udostępnij Napisano 13 Października 2020 w Czyszczenie bazy INSERTGT 13 godzin temu, Dominik Lachowski napisał: Dnia 12.10.2020 o 16:54, Daniel Kozłowski napisał: Co do zasady nikt nie udostępnia takich narzędzi, operacje takie wykonywane są jako usługa, po przesłaniu bazy danych lub zdalnie. Dzięki za wiadomość. Nie zaglądam na forum SGT i liczyłem że jest tutaj też "grupa wsparcia" jak na forum Sello Forum Sello to "inny świat", z dość oczywistych powodów, których jednak nie będę przytaczał publicznie "grupa wsparcia" to pracownicy firmy Insert, jest ich praca, my, Partnerzy też musimy z czegoś żyć i naturalnie zachowujemy dużo dla siebie. Link to postu
Polecane posty