Busy rource - OKPiotr pisze:Dziś atak wyjątkowo długi.
Do komputera zasiadłem 20min. po północy. Oczywiście z Generałem. Trzymał równo do 1:15-1:20. W tym momencie, czyli w okolicach 1:45 nadal nie mogę wyświetlić strony głównej.
1 - Archiwizacja zasobów bazy jeśli mamy zapewnić spójność logiczną danych musi odłączyć wszelkich klientów. Chyba zę ma mechanizmy backupu online - ale ta na której pracuje forum takiej możliwości nie ma.
2 - Są sytuacje gdzie jest zapis konkurencyjnych od dwóch lub więcej klientów. Od tego są mechanizmy locków. Typowo na poziomie rekordów albo większej porcji danych (nazywanych często stronami). Ten pierwszy blokuje tylko modyfikowany rekord. Drugi wszystkie rekordy trzymające dane w obrębie jednostki alokacji. Pierwszy jest kosztowny (zżeranie zasobów) i mało wydajnych - przeszukiwanie długich list. Teoretycznie - zależnie od motoru bazy danych - można definiować sposób lockowania dla każdej z tablicy oddzielnie - na pewno nie ma tego mySQL i postgres.
3. Otwieracie forum i skrypt musi stworzyć zapis w bazie - chodzi o przyznanie sesji - czyli ID, zapisanie go i wysłanie do was cookies (tak działają sesje - ich cookies znika po zakończeniu sesji). Wystarczy że jakiś boot masowo zacznie otwierać forum - łatwo o zadławieni motoru bazy danych - mySQL, postgres to nie motory dla przetwarzania ogromnej liczby zapytań w jednostce czasu.
4. Pozostaje tylko blokowanie na firewallach i acceslistach na routerach. Albo kosztowna migracja na jakiś inny motor bazy danych (informix - prosta administracja wydajny i niezawodny motor, oracle - mocno przesłodzony marketingiem.... db2 to nie świat unixa wiec odpada).