Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Защититься от роста базы
|
|||
|---|---|---|---|
|
#18+
Hello, Сисдба Мастеркеевич! You wrote on 8 мая 2015 г. 14:36:26: Сисдба Мастеркеевич> I/O error during "WriteFile" operation for file "D:\TEMP\FB_TABLE_3YWUTM" > Error while trying to write to file > Недостаточно места на диске. TEMP на том же диске что и база? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 14:36 |
|
||
|
Защититься от роста базы
|
|||
|---|---|---|---|
|
#18+
Сисдба МастеркеевичI/O error during "WriteFile" operation for file "D:\TEMP\FB_TABLE_3YWUTM" Error while trying to write to file Недостаточно места на диске. А кто-то тут утверждал, что диск не один и временные файлы лежат совсем отдельно... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 14:40 |
|
||
|
Защититься от роста базы
|
|||
|---|---|---|---|
|
#18+
Hello, Сисдба Мастеркеевич! You wrote on 8 мая 2015 г. 14:47:04: Сисдба Мастеркеевич> Файл базы ведь не подрежешь, и к диску место не пришьешь. касаемо "пришивания места к диску" ты глубоко заблуждаешься. даже на win, не говоря уж про linux. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 14:47 |
|
||
|
Защититься от роста базы
|
|||
|---|---|---|---|
|
#18+
МимопроходящийHello, Сисдба Мастеркеевич! You wrote on 8 мая 2015 г. 14:36:26: Сисдба Мастеркеевич> I/O error during "WriteFile" operation for file "D:\TEMP\FB_TABLE_3YWUTM" > Error while trying to write to file > Недостаточно места на диске. TEMP на том же диске что и база? Физических дисков на сервере 8 штук. Из 6 сделан RAID-10, 2 - не в райде, для системы, резервных копий и прочего. База и темпы на райде, ибо он типа быстрый и умный. Dimitry SibiryakovСисдба МастеркеевичI/O error during "WriteFile" operation for file "D:\TEMP\FB_TABLE_3YWUTM" Error while trying to write to file Недостаточно места на диске. А кто-то тут утверждал, что диск не один и временные файлы лежат совсем отдельно... Я говорил о том, что это можно сделать. МимопроходящийHello, Сисдба Мастеркеевич! You wrote on 8 мая 2015 г. 14:47:04: Сисдба Мастеркеевич> Файл базы ведь не подрежешь, и к диску место не пришьешь. касаемо "пришивания места к диску" ты глубоко заблуждаешься. даже на win, не говоря уж про linux. В теории возможно многое. На практике, в нашем случае, чтобы прирастить место, надо было: 1. Договориться с провайдером о физическом доступе к серверу (несколько часов) 2. Быстро найти дополнительные диски (хорошо, пусть они есть заранее запасенные) 3. Найти, куда засунуть эти диски на сервере. Хорошо, меняем полностью набор дисков в массиве. 4. Построить новый массив, скопировать туда (откуда-то) проблемную базу и еще 2 базы, которые там же были, тоже >100 Гб каждая. Базы эти мало используются, туда только заливаются данные, но они тоже нужны в работе. 5. Запустить всё в работу. В итоге это всё выльется в целый рабочий день и не гарантирует неповторения ситуации. К тому же, 170 Гб мусора в базе - не айс, он ведь и в копии попадает, их тоже где-то надо хранить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 15:31 |
|
||
|
Защититься от роста базы
|
|||
|---|---|---|---|
|
#18+
Сисдба МастеркеевичЯ говорил о том, что это можно сделать. Это нужно сделать. Вне зависимости от. А в твоём случае остаётся только повторить, что временные блобы во временных файлах на том же диске - не помогут. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 16:03 |
|
||
|
Защититься от роста базы
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovСисдба МастеркеевичЯ говорил о том, что это можно сделать. Это нужно сделать. Вне зависимости от. А в твоём случае остаётся только повторить, что временные блобы во временных файлах на том же диске - не помогут. Смотри. Есть дисковое пространство ~800 Гб. 1 вариант: создаем один раздел на всё пространство, в нем живут и темпы, и база. Темпы - меняются, они могут как прирастать в объеме, так и уменьшаться. База - может только прирастать. Таким образом, мы имеем потенциальную возможность роста базы до ~800 Гб, с уменьшением места для темпов, что не сильно критично для работы (у нас нет больших сортировок и не пишем много во временные таблицы). 2 вариант: создаем 2 раздела, один для темпов, скажем, 100 Гб, второй - для базы, 700 Гб. Теперь мы имеем потенциальную возможность роста базы до ~700 Гб, с постоянным объемом места для темпов. Во втором варианте мы искусственно уменьшаем предел роста базы за счет увеличения свободы для относительно малозначимых темп-файлов. Теперь посмотрим, что было бы в моем случае, если бы временные блобы жили в темп-файлах: база бы не увеличилась до предела, а всё место заняли бы темпы. В таком случае кривой запрос просто обломится, коннект отвалится, темпы убьются, место освободится - вуаля, можно продолжать работать дальше. Тот пользователь, у кого обломился запрос, прибежит к программисту жаловаться, что у него что-то там не открывается. Программист попробует воспроизвести и сразу увидит причину. А сейчас пришлось за неимением времени и места на дисках убить распухшую базу, потратить немало времени на восстановление работоспособности сервера и проводить следствие по логам, чтобы понять, что же произошло. ИМХО, хранение временных блобов в базе - это уязвимость сервера, существенная, хоть и редко встречающаяся на практике. Да и хранить в базе мусор, который нужен только на время запроса и более не потребуется никому и никогда - это расточительно. Я понимаю, что сейчас в сервере с временными блобами ничего не изменить, можно не обвинять меня в том, что я чего-то требую :) Я хочу понять, как не допустить в будущем подобной ситуации, т.е. неконтролируемого и быстрого роста базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 16:29 |
|
||
|
Защититься от роста базы
|
|||
|---|---|---|---|
|
#18+
Сисдба МастеркеевичТеперь посмотрим, что было бы в моем случае, если бы временные блобы жили в темп-файлах: база бы не увеличилась до предела, а всё место заняли бы темпы. В таком случае кривой запрос просто обломится, коннект отвалится, темпы убьются, место освободится - вуаля, можно продолжать работать дальше. В твоём случае проблема возникла не из-за нехватки места под базу, а как раз из-за нехватки места под временные файлы. Когда база упирается в свободное место, всё именно так и происходит: кривой запрос обламывается, транзакция откатывается, место освобождается - вуаля, можно ещё некоторое время поработать (по крайней мере на чтение). Временные файлы используются в гораздо большем количестве случаев, поэтому из-за нехватки места в TEMP и упало сразу всё. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 16:43 |
|
||
|
Защититься от роста базы
|
|||
|---|---|---|---|
|
#18+
Сисдба Мастеркеевич Я хочу понять, как не допустить в будущем подобной ситуации, т.е. неконтролируемого и быстрого роста базы. У меня неконтролируемый рост (тестовой) базы данных провоцируется(?) пулом подключений. Тоже, наверное, блобы место выжирают - не вникал. Если пул выключить, то база не пухнет. Не пухла, по крайней мере, до прикручивания пула. После перезапуска тестов база продолжает пухнуть. Принудительную сборку мусора между запусками тестов я не делаю (лень / дешевле базу пересоздать). Фоновую сборку мусора не отключал. Транзакции коммитятся. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Как это лечить - ахез (без пула подключений все работает очень тоскливо, поэтому я его даже и не пробую отключать). Соорудил выделенный раздел (>3TB) под тестовые базы и забил :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 17:05 |
|
||
|
Защититься от роста базы
|
|||
|---|---|---|---|
|
#18+
Hello, Коваленко Дмитрий! You wrote on 8 мая 2015 г. 17:12:47: Коваленко Дмитрий> Соорудил выделенный раздел (>3TB) под тестовые базы и забил :) маниак! Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 17:12 |
|
||
|
Защититься от роста базы
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovСисдба МастеркеевичТеперь посмотрим, что было бы в моем случае, если бы временные блобы жили в темп-файлах: база бы не увеличилась до предела, а всё место заняли бы темпы. В таком случае кривой запрос просто обломится, коннект отвалится, темпы убьются, место освободится - вуаля, можно продолжать работать дальше. В твоём случае проблема возникла не из-за нехватки места под базу, а как раз из-за нехватки места под временные файлы. Когда база упирается в свободное место, всё именно так и происходит: кривой запрос обламывается, транзакция откатывается, место освобождается - вуаля, можно ещё некоторое время поработать (по крайней мере на чтение). Временные файлы используются в гораздо большем количестве случаев, поэтому из-за нехватки места в TEMP и упало сразу всё. Судя по логам, ошибки нехватки места начали появляться около 12.30. Окончательно всё упало около 15.30. Кривой запрос был запущен около 11.00. Скорее всего, первый раз нехватка места произошла из-за частичного подрастания базы и существенного объема, занятого темпами. в 12.30 кривой запрос отвалился, темпы убились, но база не уменьшилась. Скорее всего, кривой запрос пытались запустить еще не раз (правда, я в логах нашел только один повторный запуск). В результате таких итераций база распухла до пределов всего раздела, места не осталось и работать стало невозможно. Да, коннекты у нас осуществляются с отключенной сборкой мусора, ибо со сборкой работает медленнее. Мусор убирается ночами во время свипа. Вопрос: если бы коннект был со сборкой мусора, то при повторных запусках кривого запроса было бы использование того места в базе, которое было выделено под временные блобы в предыдущих попытках ? авторКогда база упирается в свободное место, всё именно так и происходит: кривой запрос обламывается, транзакция откатывается, место освобождается - вуаля, можно ещё некоторое время поработать (по крайней мере на чтение)Каким образом место освобождается, если темпы на другом диске (ты ведь про этот вариант пишешь) ? Или ты имеешь в виду место под темпы ? В любом случае, работа только на чтение - не вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 17:15 |
|
||
|
Защититься от роста базы
|
|||
|---|---|---|---|
|
#18+
МимопроходящийКоваленко Дмитрий> Соорудил выделенный раздел (>3TB) под тестовые базы и забил :) маниак! Увы, нет. И вообще - я уже ушел из Большого секса :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 17:20 |
|
||
|
Защититься от роста базы
|
|||
|---|---|---|---|
|
#18+
Сисдба Мастеркеевичконнекты у нас осуществляются с отключенной сборкой мусора, ибо со сборкой работает медленнее. В морг. Вас уже ничто не спасёт. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 17:23 |
|
||
|
Защититься от роста базы
|
|||
|---|---|---|---|
|
#18+
Hello, Сисдба Мастеркеевич! You wrote on 8 мая 2015 г. 17:22:37: Сисдба Мастеркеевич> Да, коннекты у нас осуществляются с отключенной сборкой мусора, > ибо со сборкой работает медленнее. клиентские приложения спроектированы очень плохо. или даже совсем никак. какой разрыв в транзакциях набегает за день? gstat -h Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 17:23 |
|
||
|
Защититься от роста базы
|
|||
|---|---|---|---|
|
#18+
Hello, Коваленко Дмитрий! You wrote on 8 мая 2015 г. 17:25:23: Коваленко Дмитрий> Увы, нет. И вообще - я уже ушел из Большого секса :) разработку своей машины Тьюринга ещё продолжаешь? ;) или только саппорт? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 17:25 |
|
||
|
Защититься от роста базы
|
|||
|---|---|---|---|
|
#18+
МимопроходящийКоваленко Дмитрий> Увы, нет. И вообще - я уже ушел из Большого секса :) разработку своей машины Тьюринга ещё продолжаешь? ;) или только саппорт? Если мне не изменяет память, LOA "машиной Тьюринга" (в 2007-ом) назвал мою дуболомную реализацию файлового кэша. Которую я еще пытался прикрутить к генератору индекса "полнотекстового поиска" по базе данных. Конкретно та реализация кэша умерла вместо со второй версией провайдера. В третьей - уже нормальная, "как у сервера". Запилена еще в 2010 году :) Кстати, тогда проблема была связана с долбанным флагом FILE_FLAG_RANDOM_ACCESS. Из-за него выжиралась вся память. И все начинало работать именно как "машина Тьюринга"... Сейчас все работает достаточно красиво :) --- Саппорта у меня практически нет. Не жалуются :) Но до финиша пока еще далеко. --- На "маньяка" (конкретно в данном случае) не тяну, потому что уже даже не тянет ... экспериментировать для локализации проблемы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 18:40 |
|
||
|
Защититься от роста базы
|
|||
|---|---|---|---|
|
#18+
Hello, Коваленко Дмитрий! You wrote on 8 мая 2015 г. 18:46:06: Коваленко Дмитрий> Если мне не изменяет память, LOA "машиной Тьюринга" (в 2007-ом) назвал > мою дуболомную реализацию файлового кэша. Которую я еще пытался > прикрутить к генератору индекса "полнотекстового поиска" по базе данных. > Конкретно та реализация кэша умерла вместо со второй версией провайдера. > В третьей - уже нормальная, "как у сервера". Запилена еще в 2010 году :) > > Кстати, тогда проблема была связана с долбанным флагом > FILE_FLAG_RANDOM_ACCESS. Из-за него выжиралась вся память. И все > начинало работать именно как "машина Тьюринга"... Сейчас все работает > достаточно красиво :)счастливый человек... Коваленко Дмитрий> Саппорта у меня практически нет. Не жалуются :) счастье в квадрате! Коваленко Дмитрий> Но до финиша пока еще далеко. > --- > На "маньяка" (конкретно в данном случае) не тяну, потому что уже даже не > тянет ... экспериментировать для локализации проблемы :) - моня, вы знаете, с вашей сарой спят все кому только ни хочется! - ой вэй! как я их понимаю! мне и самому не хочется... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 18:48 |
|
||
|
Защититься от роста базы
|
|||
|---|---|---|---|
|
#18+
МимопроходящийHello, Сисдба Мастеркеевич! You wrote on 8 мая 2015 г. 17:22:37: Сисдба Мастеркеевич> Да, коннекты у нас осуществляются с отключенной сборкой мусора, > ибо со сборкой работает медленнее. клиентские приложения спроектированы очень плохо. или даже совсем никак. какой разрыв в транзакциях набегает за день? gstat -h Я так понимаю, надо непосредственно перед свипом смотреть: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 08:47 |
|
||
|
Защититься от роста базы
|
|||
|---|---|---|---|
|
#18+
FBDataGuard мониторит свободное место для БД, темп-файлов, сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 10:16 |
|
||
|
Защититься от роста базы
|
|||
|---|---|---|---|
|
#18+
Hello, Alexey Kovyazin! You wrote on 12 мая 2015 г. 10:56:26: Alexey Kovyazin> FBDataGuard мониторит свободное место для БД, темп-файлов, сервера.ты ему вместо таблетки предлагаешь кушать градусник. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 10:56 |
|
||
|
Защититься от роста базы
|
|||
|---|---|---|---|
|
#18+
Мимопроходящийпредлагаешь кушать градусник. Ну так это же классика: "и всем по порядку даёт шоколадки, и ставит, и ставит им градусники." (с) КЧ Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 11:26 |
|
||
|
Защититься от роста базы
|
|||
|---|---|---|---|
|
#18+
Не помню из какого фильма, но вспомнилось: - А почему вы градусник в задницу ставите? - У нас военная медицина, больной должен понимать, что тут ему не курорт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 20:19 |
|
||
|
Защититься от роста базы
|
|||
|---|---|---|---|
|
#18+
Коваленко Дмитрий Код: plaintext 1. 2. 3. 4. 5. 6. Вот та же самая база на текущий момент. Прошло два перезапуска тестов. Второй закончится вечером (идет сутки): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. База выросла еще на несколько десятков гиг. Юзается суперклассик. Сегодня попробую выполнить принудительную сборку мусора в тестовых базах и посмотрим - поможет это или нет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2015, 10:34 |
|
||
|
Защититься от роста базы
|
|||
|---|---|---|---|
|
#18+
Коваленко ДмитрийЮзается суперклассик. Сегодня попробую выполнить принудительную сборку мусора в тестовых базах и посмотрим - поможет это или нет :) Помогло. База перестала расти (размер не изменился ни на байт). Сборка мусора выполнялась в монопольном режиме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 08:33 |
|
||
|
Защититься от роста базы
|
|||
|---|---|---|---|
|
#18+
Коваленко ДмитрийПомогло. База перестала расти (размер не изменился ни на байт).Не может быть ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 09:27 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38954826&tid=1562853]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
194ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 289ms |
| total: | 593ms |

| 0 / 0 |
