( kumgabor | 2023. 09. 06., sze – 11:11 )

Köszönöm mindenkinek a segítséget.

A fejlesztők megfogadták a javaslataimat, amik a következők voltak:

  • Ahelyett, hogy másodpercenként több ezer update-et csinálnának egy-egy táblán, ellenőrizzék, hogy amit frissíteni szeretnének, annak az értéke nem ugyanaz-e, mint amire módosítani szeretnék. Bár a tranzakciók száma ezzel minimálisan nő, de a sok update helyett sok select és kevés update lesz.
  • Egy ilyen konkrét tábla volt, amit ezentúl a RAM-ban tárolunk, mert a tartalmát a programjuk vissza tudja állítani újraindításkor. Emiatt a mentése sem szükséges.
  • Az 1 GB-nál nagyobb táblák mentése ritkább lesz, nem óránkénti. Az előző mentés óta változott táblák dump-os mentése marad, ha felmerül megrendelői oldalról az igény, akkor ezen változtathatunk később. A kisebb tábláknál, ahol kötelezettség az óránkénti mentés, ez nem jelent problémát
  • Töröljük a felesleges adatokat a táblákból, az adatbázis nem log, még ha egyes táblák nevébe bele is írták, hogy az valaminek a logja.

Amit csinálok ezután:

  • Éjszakai rendszerleállítás, dump ki, dump be, ezzel visszaállítva az ibdata1 fájl normális méretét
  • Egy szkript figyelni fogja a /var/lib/mysql mappa méretét, és ha elkezd nagyon nőni, még időben tudok lépni. Most ez nem jött össze, későn vettem észre
  • A dumpok készítésénél ezentúl mérni fogom az időt, tehát ha "váratlanul" lesz nagy egy olyan tábla, ami eddig üzemszerűen nem volt nagy, akkor ehhez tudjuk igazítani a mentéseket.

További érdekességek:

  • Örömmel vettem, hogy a fejlesztő kollégák nem tolták rám a dolgot azzal, hogy "oldjam meg, ahogy akarom". Együttműködőek voltak és vették az időt, hogy foglalkozzanak a módosításokkal. A cégvezetés sem szükséges rosszként tekint az üzemeltetésre.
  • Megdöbbentő, hogy az innodb-nél tényleg csak ez a kidump-bedump megoldás képes arra, hogy eltüntesse ezt a több száz gigabyte-os szemétdombot.
  • Hiába terveznek meg valamit az alkalmazásfejlesztők, ha utána teljesen másra kell használni egy rendszert, mint amire alapvetően tervezték. Alkalmas rá, csak az eredetileg tervezett 1-2 MB-os táblák több GB-osra nőnek, újratervezésre vagy átalakításra pedig nincs idő, maximum így, ha már baj van üzemeltetési oldalon.

Tehát összességében pozitív vége lett a dolognak.
Köszönöm mindenkinek a segítséget, bebizonyosodott, hogy nem csak politizálni járnak a felhasználók a HUP-ra! :-)