PostgreSQL :: VACUUM vs EXPORT/IMPORT

4 отговора 372 прегледа
#1

PostgreSQL :: VACUUM vs EXPORT/IMPORT

Възможно ли е VACUUM да бъде по-бавен от EXPORT и последващ IMPORT за дадена таблица? Защото при едно пускане на VACUUM чаках цял ден и накрая го спрях, а IMPORT/EXPORT за съответните данни става за около час-два. Разбира се, vacuum_mem си е на стойността по подразбиране - 8MB, но пак ми се струва абсурдно минаването през външен файл и интерпретирането на заявките да бъде по-бързо от просто вътрешно дефрагментиране на даден файл.

И още един въпрос за vacuum_mem. Каква стойност да му задам, като се има предвид, че общо разполагам с 1GB RAM. На едно прочетох, че е уместно да се зададе стойност в рамките на 16-32 MB, но на други места съм чел за хора, които са го сетвали на 200-300 и са получавали многократно по-бърз резултат. Та...кое е вярното в случая?

Everything louder than everything else...

Редактирано от Dakota на

Отговор
в отговор на Dakota #2

Re: PostgreSQL :: VACUUM vs EXPORT/IMPORT

ами може да го сложиш голямо ако не изпълняваш много често vacuum (а и да го изпълняваш често само за отделни таблици, то ще е много кратко) и ако е с повече рам, пак ще е по-кратко т.е. не е голяма загуба (е трябва да прецениш да не се окаже, че в този момент нищо друго не работи)

тва е малко като с компресията на web, ако избереш много силна компресия печелиш само няколко процента в сравнение с по-малката компресия, обаче пък губиш много в пъти повече процесорно време от колкото при по-слабата компресия

а бих ти препоръчал да си изтестваш в кой момент спираш да виждаш смислено ускорение при увеличаване на vacuum_mem

(а дали е възможно да е по-бавен, май може , ти пробва ли?)

при по-редовни викания на vacuum и времето за изпълнение ще е по-малко ;-) ама пак не трябва да се прекалява, че то да не стане основния товаряч ;-)

доста мушмули изписах ;-)

Отговор
в отговор на phpGuru #3

Re: PostgreSQL :: VACUUM vs EXPORT/IMPORT

Мии...то е малко сложно тестването в моя случай, щото един тест като отнема по 2-3 дена и...

А точно понеже пробвах и беше по-бързо, затова питам...а аз бях променял доста таблицата преди това.

Лошото е, че свърши мястото на диска, така че пуснах VACUUM с 300MB, пък ще видим...

Everything louder than everything else...
Отговор
в отговор на Dakota #4

Re: PostgreSQL :: VACUUM vs EXPORT/IMPORT

Mожеш ли да кажеш за какъв обем от данни става дума - като физически рамер и/или брой записи в по големите таблици.

Боже колко мъка има на този свят Боже!
Отговор
в отговор на RepeatableRead #5

Re: PostgreSQL :: VACUUM vs EXPORT/IMPORT

Всъщност правя VACUUM върху една единствена таблица.

Тя обаче е с 33 млн. записа, а като физическо място 40 GB. Все още не съм успял да я нормализирам напълно и съответно съм правил много промени по нея...Може би ще е добра идея след всяка промяна да вакумирам.

А за VACUUM-а, пуснах го вчера към обяд, тази сутрин пратих Cancel request, който още не е успял да го спре. А на всичкото отгоре, по неясни причини VACUUM-а използва изцяло само swap memory, което може би обяснява защо е толкова бавно...само дето не мога да разбера защо използва тоя swap...

Everything louder than everything else...

Редактирано от Dakota на

Отговор