|
|
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Добрый день Поделитесь своим опытом обслуживания больших БД. У меня такая ситуация - есть база ПО АСУТ S-Market ( http://s-market.ru/), размер в данный момент 210 Гб, число коннектов 270-300. Т.к. наша торговая сеть расширяется, увеличивается кол-во магазинов и следовательно число работающих в БД и её размер расширяется. Приходится делать бэкап-рестор,но интервал между ними постоянно уменьшается,а время рестора увеличивается. Для того,чтобы жилось спокойно провожу такие работы по БД: 1. Само собой бэкап-рестор раз в 2-3 месяца (чаще не могу - база работает 24/7,реже - база начинает подтормаживать,ну и рестор идет 14 часов) 2. Каждый день sweep (sweep interval давно уже в 0), после него проверка через gtat-h на предмет застрявших транзакций 3. Каждый день после sweep пересчет селективности индексов (запустил совсем недавно,пока не понятно есть польза или нет от него) 4. Обрезка таблиц перед каждым бэкап-рестором (получаем 10-30 Гб уменьшения БД) 5. Запущена трассировка на поиск медленных запросов (недавно,так что пока ничего не "поймала") 6. Firebird.conf переписан под конфигурацию сервера Теневые копии и репликацию не использую. Моё беспокойство в чем - база растет,время между b/r уменьшается, время рестора увеличивается (за год с 8 до 14 часов). Настанет скоро момент,когда ресторится придется раз в месяц и по двое суток. Как можно продлить жизнь БД или ускорить рестор? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 05:12:00 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Gallemarрепликацию не используюКак вариант увеличения доступности сделать фаиловер кластер на репликации. Пока проводишь сервисные работы на основной ноде, работает вторая, закончил обслуживание, вернул репликацию, базы выровнялись и можешь снова переключать юзеров на основную ноду. Если клиентская часть программы в будет уметь переключаться, то юзер вообще ничего не заметит, если нет, ну потратится минутка на переконнект, ни о каком даунтаме в полдня речь уже не идет. Как вообще можно говорить о работе 24х7 если нет кластера? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 08:18:46 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Ivan_Pisarevsky,я такую схему хочу с ibreplicator реализовать,разговаривал с разработчиком и Димой Сибиряковым,они одобрили. Я ещё не тестировал репликацию на продуктиве и боюсь просадки производительности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 08:28:28 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Gallemar> 1. Само собой бэкап-рестор раз в 2-3 месяца (чаще не могу - база работает Gallemar> 24/7,реже - база начинает подтормаживать,ну и рестор идет 14 часов) А как вообще периодичность рестора выбирается и осуществляется, если 24х7? Обычно, 24х7 - это, на самом деле, такая фикция, не мешающая рестору. Ну и плюс есть nbackup (хоть и не буду его советовать) и репликация. > 2. Каждый день sweep, после него проверка через gtat-h на предмет застрявших транзакций А вот расскажи-ка про этот пункт поподробней - вручную делается или автоматизировано? > 4. Обрезка таблиц перед каждым бэкап-рестором (получаем 10-30 Гб уменьшения БД) Удаление старых записей что ли? > 5. Запущена трассировка на поиск медленных запросов > (недавно,так что пока ничего не "поймала") Так ты какой фильтр по времени-то поставил? Уменьши. > база растет,время между b/r уменьшается А почему оно уменьшается, кстати? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 09:22:59 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, При 24/7 выбираем сутки,договариваемся что товароучет не будет работать,после согласований получаю возможность проводить работы. Репликация и nbackup не ускорят БД,а b/r провожу именно с этой целью. Nbackup кстати у меня меня есть как альтернатива gbak. После свипа запускается gstat -h >C:\S-Market\LOG\db_stat_%date%_%VTime%.txt, ну и смотришь данные по счетчикам. Я смотрю сам,а другие через 1с, там есть обработка для этого. Обрезку данных осуществляю обрезкой старых данных. Трассировку запустил вчера,так что статистики просто не набрал. Почему уменьшается время рестора - так база на месте не стоит и "подрастает" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 09:35:51 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Gallemar> Репликация и nbackup не ускорят БД,а b/r провожу именно с этой целью Странная цель. Тем более, если ничего в этой части (мусор, счётчики) особо не тормозит, о чём тебе уже говорили. > ну и смотришь данные по счетчикам. Я смотрю сам, В смысле глазами или парсишь? > а другие через 1с, там есть обработка для этого. В смысле, 1С конкретно к FB привязывается или свю внутреннюю слежубную инфу сообщает? Я просто не в курсе, аж интересно стало. > Обрезку данных осуществляю обрезкой старых данных. Дык я и спрашиваю - в чём она заключается? Это архивные данные, которые в оперативном бэкапе не нужны (ибо есть в архивах) ? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 10:01:14 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, База начинает торможить к концу второго месяца после рестора. Данные по gstat -h смотрю глазами, руки не доходят автоматизировать,т.к. проблема с счетчиками вылезает раз в 2 года. 1с целяется по odbc и тянет запрос из mon$database, потом высчитывается разницу,если больше n - делает оповещение. Данные обрезаются по документам и продажам,т.к. они есть в OLAP и держать в оперативной базе их не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 10:15:58 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Gallemar> База начинает торможить к концу второго месяца после рестора. Это глазами видно и измеряемо? При ежедневном свипе-то? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 10:38:32 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
roadster Модератор: Не надо устраивать тут филиал ПТ, пришел в наш раздел, говори по делу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 10:39:55 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Gallemar База начинает торможить к концу второго месяца после рестора. Маловероятно конечно, но такое впечатление что по симптомам смахивает на чрезмерную фрагментацию fs. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 10:41:55 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
тормоза через два месяца могли быть вызваны как раз отсутствием пересчета статистики. Сейчас, когда это добавлено, имеет смысл посмотреть возникнет ли снова проблема или нет. Ибо свип + пересчет статистики это вполне достаточная замена рестора с т.з. производительности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 10:43:44 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
dimitr> тормоза через два месяца могли быть вызваны как раз отсутствием пересчета статистики. Насколько я понимаю, стабильная периодическая проблема с индексами может быть при высокой нагрузке и индексах по датам. Да и то - шибко постараться надо, наверное. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 10:45:31 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Gallemar1. Само собой бэкап-рестор раз в 2-3 месяцаЭто ни разу не само-собой. Это путь в никуда, и ты это уже начинаешь ощущать. Мониторь запросы, когда "база начинает подтормаживать" и делай выводы. Возможно тебе достаточно пару индексов перестроить, а не всю БД пересоздавать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 10:48:26 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамGallemar> База начинает торможить к концу второго месяца после рестора. Это глазами видно и измеряемо? При ежедневном свипе-то? Измерить не получает,но при работе с ПО ощутимо (медленные выборки,медленные отчеты,медленная запись документов). Если свип убрать база начнет тормозить уже через пару-тройку недель. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 11:04:10 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
dimitrтормоза через два месяца могли быть вызваны как раз отсутствием пересчета статистики. Сейчас, когда это добавлено, имеет смысл посмотреть возникнет ли снова проблема или нет. Ибо свип + пересчет статистики это вполне достаточная замена рестора с т.з. производительности. Ок,буду смотреть что станет с БД через пару месяцев. Вообще,в начале работы свип отсутствовал вообще (sweep interval выставили в нуль,а запуск вручную зачем то закомментировали), и база начинала тормозить через три недели,после включения свипа вручную - работала три месяца. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 11:07:33 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
GallemarГаджимурадов РустамGallemar> База начинает торможить к концу второго месяца после рестора. Это глазами видно и измеряемо? При ежедневном свипе-то? Измерить не получает,но при работе с ПО ощутимо (медленные выборки,медленные отчеты,медленная запись документов). Если свип убрать база начнет тормозить уже через пару-тройку недель. как вариант, на вскидку, b/r создаёт файл в котором таьблицы/индексы и прочие данные расположены упорядочено, если есть запросы идущие natural-ом, то из-за особенностей ввода вывода даже на маленьких табличках, может идти постепенное уменьшение производительности ( после b/r всё работает шустро, но fullscan по размазанной по файлу/диску таблице, в которой пограничная длина строки сильно замедляется ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 11:13:21 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
NikolayV81> по размазанной по файлу/диску таблице, NikolayV81> в которой пограничная длина строки сильно замедляется Это ппц сколько бреда в одном посте про SSD можно написать... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 11:18:11 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
NikolayV81из-за особенностей ввода выводаУ автора вроде на ssd все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 11:18:23 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Ivan_Pisarevsky,верно,SSD OCZ Vertex 3 Max Iops, 8 штук, RAID10 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 11:28:13 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамNikolayV81> по размазанной по файлу/диску таблице, NikolayV81> в которой пограничная длина строки сильно замедляется Это ппц сколько бреда в одном посте про SSD можно написать... Не увидел в теме, беру свои слова обратно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 11:32:54 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Gallemar, могу порекомендовать следующее 1.поддерживайте статистику БД в актуальном состоянии, особенно по тем таблицам, по которым большой % изменений I/U/D от общего объема таблицы; 2. также следует следить за выполняющимися SQL, отыскивать медленные, проводить их анализ и оптимизацию. Возможно, существующие индексы становятся неэффективными или опять же, виновата статистика; 3. задумайтесь о репликации данных на slave-server, в перспективе нужно иметь отказоустойчивый кластер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 12:15:53 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
heckfi, по поводу пункта 3 - собираюсь делать репликацию через Ibreplicator, планы вынашивал давно, но пока воздерживался от установки на продуктив. Вызывает опасение возможность сильной просадки по производительности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 12:19:35 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Gallemar, ibtm ставил? статистика по транзакциям собирается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 12:26:53 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
heckfi, могу порекомендовать следующее 1. почитать предыдущие ответы, а не только первый пост. 2. присоединиться к советам, опровергнуть их или дописать свои, но не выступать в качестве К.О. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 12:28:11 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
GallemarИзмерить не получает,но при работе с ПО ощутимо (медленные выборки,медленные отчеты,медленная запись документов). А использовать в этот момент gstat и IBAnalyst, конечно же, ни у кого руки не дошли... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 12:28:18 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovGallemarИзмерить не получает,но при работе с ПО ощутимо (медленные выборки,медленные отчеты,медленная запись документов). А использовать в этот момент gstat и IBAnalyst, конечно же, ни у кого руки не дошли... Хм,а так я что увижу? Картина по плохим индексам и большим таблицам одна ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 12:35:19 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdvGallemar, ibtm ставил? статистика по транзакциям собирается? Нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 12:36:02 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Gallemar, Ну вот видишь, сколько ещё всего можно посмотреть и замерить :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 12:37:08 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
WildSeryheckfi, могу порекомендовать следующее 1. почитать предыдущие ответы, а не только первый пост. 2. присоединиться к советам, опровергнуть их или дописать свои, но не выступать в качестве К.О. Вам тоже могу порекомендовать не тралить, а писать по делу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 12:40:38 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
WildSeryGallemar, Ну вот видишь, сколько ещё всего можно посмотреть и замерить :) С ibtm была такая проблема - при коннекте более 200 пользователей вылетал с ошибкой,может сейчас этой проблемы не будет,надо пробовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 12:41:18 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
GallemarХм,а так я что увижу? Картина по плохим индексам и большим таблицам одна 1) Это тебе только кажется. 2) Не только индексами и большими таблицами тормозят сервер. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 12:44:01 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
GallemarС ibtm была такая проблема - при коннекте более 200 пользователей вылетал с ошибкой нет такой проблемы. ibtm это такой же клиент, как и твои приложения. Если "ibtm вылетал с ошибкой", то и твои другие коннекты свыше 200 тоже должны были вылетать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 12:44:39 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdv,Дима,я могу ошибаться,ставил давно. Может аналогичная твоя программа,я помню что она работала как сниффер,пропускала через себя данные,приходилось менятьеё порт на порт ФБ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 12:47:21 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
GallemarМожет аналогичная твоя программа,я помню что она работала как сниффер она не моя, а наша, и это FBScanner. И - да, когда-то и в зависимости от условий могло затыкаться больше 200 коннектов. Но времена меняются, и сейчас несколько другие задачи, при которых через FBScanner пускать все коннекты не требуется. Т.е. можно, но не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 13:03:37 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
heckfiВам тоже могу порекомендовать не тралить, а писать по делу. Слушаюсь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 15:39:45 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdv,я транзакции при необходимости смотрю через mon$, завтра гляну ibtm. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 17:35:26 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Gallemarkdv,я транзакции при необходимости смотрю через mon$, завтра гляну ibtm. о боже... прочитай www.ibase.ru/devinfo/optimize.htm . p.s. ну как же так - вроде база большая, и пользователей достаточно. И про производительность ты интересуешься. Но когда доходит дело до "измерений" - натуральный epic fail. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2014, 13:31:59 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Gallemar, через ibtm не надо "завтра" глядеть. Его надо было поставить когда тебе об этом говорили (год назад?), и смотреть через 3-4 дня после установки. И до сих пор бы он тихо-мирно собирал данные, которые можно было бы изучать в любой момент. mon$ ты в любой момент можешь посмотреть. Только вот что ты будешь делать, туда посмотрев? Т.е. что ты ожидаешь увидеть в mon, чтобы тебя увиденное сподвигло на какие-то (какие) действия? К слову, у нас есть MonLogger для сохранения снимков mon$ и их последующего изучения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2014, 13:35:09 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdv,да нет,я на самом деле хороший:) Исправляюсь понемногу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2014, 17:06:23 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdvК слову, у нас есть MonLogger для сохранения снимков mon$ и их последующего изучения.А что это про него не знает ни гугль, ни сайт ib-aid.com ? Там какая-нить триальная версия имеется ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2014, 17:18:44 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Таблоид,попался!!!!!:) Почту проверь!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2014, 17:27:13 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Обнаружился старый косяк при обновлении - часть таблиц GTT оказались обычными, при переходе с interbase на firebird часть скриптов не выполнились. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 12:00:14 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
GallemarОбнаружился старый косяк при обновлении - часть таблиц GTT оказались обычнымиВот вроде каждое слово понимаю, а вместе - никак... О чём речь-то ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 12:09:01 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
hvlad,да я про потерю производительности. Это возможно одна из причин. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 12:20:07 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Gallemarчасть скриптов не выполнились Не выполнилась та часть скриптов, которая из обычных таблиц делала GTT? Или как это связано с GTT? Gallemarчасть таблиц GTT оказались обычными ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 12:28:13 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
wadmanНе выполнилась та часть скриптов, которая из обычных таблиц делала GTT? Или как это связано с GTT? Именно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 12:33:57 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
GallemarИменно Как из обычной таблицы можно сделать временную? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 12:45:41 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
drop/create :) Больше удивляет другое: тема стартанула когда себе, а про то, что обновление структуры базы прошло с ошибкой - узнаётся только сейчас ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 12:51:00 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovdrop/create :) Больше удивляет другое: тема стартанула когда себе, а про то, что обновление структуры базы прошло с ошибкой - узнаётся только сейчас ... Ошибок то небыло ;) Я так понимаю что производительность падала из-за того что эти таблицы хламом набивались, ведь получается что на логику данные не влияли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 13:24:42 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
А такое вообще легально ? Код: sql 1. 2. recreate вообще что делает ? Это синтаксический сахар для drop+create ? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 13:29:20 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
NikolayV81Я так понимаю что производительность падала из-за того что эти таблицы хламом набивались Ага, ага. А бэкап-рестор тогда помогал с какого перепугу?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 13:38:32 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Таблоид, MonLogger пока по каким-то странным соображениям включен в FBScanner. Т.е. при покупке FBScanner оно доступно на deploy.ib-aid.com , отдельно от дистрибутива фбсканера. ТаблоидА что это про него не знает ни гугль, ни сайт ib-aid.com ? Там какая-нить триальная версия имеется ? будем чинить это дело. Тебе - хоть сейчас вышлю, но не уверен, что у меня последняя версия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 14:22:37 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdvТебе - хоть сейчас вышлю, но не уверен, что у меня последняя версия.А вышли, плз, для "домашнего просмотра". Обещаю, разумеется, никуда никому не "показывать". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 14:25:47 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
ТаблоидА вышли, плз, для "домашнего просмотра". Обещаю, разумеется, никуда никому не "показывать". я твой email не нахожу. помню что p<номер>..., но ... Лезет только старое kuntsevo, от 2003 года. Кинь мне письмо на kdv@ibase.ru. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 15:18:03 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovNikolayV81Я так понимаю что производительность падала из-за того что эти таблицы хламом набивались Ага, ага. А бэкап-рестор тогда помогал с какого перепугу?.. Тоже подумал об этом, после написания. Непонятная ситуация... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 15:21:05 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdvКинь мне письмо на kdv@ibase.ru.Ушло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 15:34:56 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
ТаблоидУшло. пышло. как софтина? надо сказать, что стали чаще встречаться разработчики-администраторы, которые насилуют (!) сервер обращением к mon$-таблицам каждые 5 сек или хотя бы 1 раз в минуту. Хочу заметить, что - обращение к mon$ нагружает сервер - при большом количестве пользователей (200-400) получение снимка mon$ даже в одном коннекте может занимать больше минуты - mon$ скорее предназначены для поиска проблем в конкретный момент времени, но не для регулярного мониторинга поэтому мы не стали делать сервис, который регулярно сохраняет состояние mon$. В сервисах по оптимизации мы советуем получать содержимое mon$ через MonLogger вручную, не чаще 5-6 раз в сутки. Этого вполне достаточно для определения проблем. Для определения остальных проблем производительности - другие средства. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 16:48:30 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdvкак софтина?Пока не запускал, тут кое-чё надо доделать. Но я до неё доберусь, будь спок! :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 17:41:26 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdvнадо сказать, что стали чаще встречаться разработчики-администраторы, которые насилуют (!) сервер обращением к mon$-таблицам каждые 5 сек или хотя бы 1 раз в минуту. Хочу заметить, что ... - mon$ скорее предназначены для поиска проблем в конкретный момент времени, но не для регулярного мониторинга У себя использую 2 таких запроса: Оба вызываются только одним пользователем Получить список активных коннектов (раз в 15 мин) Код: sql 1. Самая старая пишущая транзакция (часть репликации, примерно раз в 1 мин). Код: sql 1. Можно ли получить то, что мне надо каким либо иным способом? И стоит ли заморачиваться? Пользователей 30-40 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 18:08:24 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Шавлюк ЕвгенийПолучить список активных коннектов (раз в 15 мин) Код: sql 1. Самая старая пишущая транзакция (часть репликации, примерно раз в 1 мин). Код: sql 1. 1) что даст список id коннектов ? нужно просто их число или действительно сами номера играют роль ? 2) самая старая пишущая не значит, что она что-то поменяла с момента своего старта! я бы искал ту RW, что меняла данные, а не просто RW. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 20:30:34 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Таблоид1) что даст список id коннектов ? нужно просто их число или действительно сами номера играют роль ? 2) самая старая пишущая не значит, что она что-то поменяла с момента своего старта! я бы искал ту RW, что меняла данные, а не просто RW. 1) Сами номера играю роль. Но здесь не столь важно 2) А если она еще не изменила? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 22:22:43 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Шавлюк ЕвгенийТаблоид1) что даст список id коннектов ? нужно просто их число или действительно сами номера играют роль ? 2) самая старая пишущая не значит, что она что-то поменяла с момента своего старта! я бы искал ту RW, что меняла данные, а не просто RW. 1) Сами номера играю роль. Но здесь не столь важно 2) А если она еще не изменила?ну так через минуту ведь снова будет опрос ? и если она поменяет, то будет самой старой. Хотя всё равно не понимаю, что вы будете делать, если за эту минуту успела стартовать и быстро завершиться какая-то RW-транзакция, поменявшая данные: она же исчезнет из mon$transactions. И вслед за ней стартанет другая Tx - и вот её вы поймаете скоим скриптом. А с первой, "исчезнувшей", что делать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 22:28:47 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Шавлюк ЕвгенийПолучить список активных коннектов (раз в 15 мин) и что это дает? я не очень понимаю. Я понимаю, когда надо получить список длинных коннектов, там длинных транзакций, что они делали в это время, и т.д. Если делать снимок mon$, то надо делать снимок всех mon$, и для исследования проблем, а не просто "раз в 15 минут". Просто так делать снимки mon - не вижу смысла, вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 23:00:53 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Товарищи, а почему бы нам хотя бы тут (раз ни в каких доках этого нет) не составить некие рекомендации и бест-практис для использования таблиц мониторинга? Скажем, навскидку мне представляется так: 1. Есть смысл использовать мон-таблицы для получения информации "о себе" - для контроля в db-триггерах, например. 2. Мало смысла использовать мон-таблицы для контроля "загруженности" БД, кроме как "на текущий момент" (т.е. вручную, а не в фоне, автоматом). С увеличением количества коннектов ситуация резко ухудшается. Для DBA разумнее использовать аудит для этих целей. 3. Кроме п.1 основное назначение таблиц мониторинга, ИМХО - это delete-операции над ними (особенно "зависшие запросы"). Впрочем, тут надо уточнить у ДЕ или кто там был автором концепта. 4. Еще пункты, замечания? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 23:16:29 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустамсоставить некие рекомендации и бест-практис для использования таблиц мониторинга? Первая рекомендация по использованию таблиц мониторинга: не использовать таблицы мониторинга. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 23:30:38 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Ты, Зин, на грубость нарываешься, Все, Зин, обидеть норовишь (с) ЗЫ. всему свой инструмент ЗЗЫ. таблоид не в курсе и учить его бесполезно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 23:50:13 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
dimitrТы, Зин, на грубость нарываешься, Все, Зин, обидеть норовишь (с) А то! Сделала же чья-то светлая голова их снапшотом... Это снизило половину их стоимости. Вторую половину срезал запрет на чтение простыми пользователями. Что полезного вообще можно получить из сухого остатка - у меня при всей фантазии идей нет. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2014, 23:56:59 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамТоварищи, а почему бы нам хотя бы тут (раз ни в каких доках этого нет) не составить некие рекомендации и бест-практис для использования таблиц мониторинга? первичным, imho, является понимание того, что представляют собой таблицы mon$ - содержимое, т.е. откуда берется информация, которую видно в mon$, как mon$ "наполняются", и т.п. Как только это становится понятно, остальные вопросы отпадают сами собой. В противном случае возникает ситуация "я буду запрашивать mon$ каждые 5 секунд - 15 минут, только я не понимаю, зачем я это делаю". Гаджимурадов РустамВпрочем, тут надо уточнить у ДЕ или кто там был автором концепта. сложно сказать, т.к. впервые системные таблицы мониторинга появились в InterBase 7.0 как минимум в 2003 году, т.е. существуют в IB уже 15 лет. mon$ появились в Firebird в версии 2.1, которая вышла в 2008 году, т.е. 6 лет назад (бета была в 2006 году). Dimitry SibiryakovСделала же чья-то светлая голова их снапшотом... ну а нафиг они нужны не снапшотом? как ты собираешься обеспечить целостность между mon$attachments и mon$transaction и остальным? Какой прок от чтения этих таблиц в нецелостном состоянии? Почитай fb-architect что-ли лет на 8 назад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 02:03:48 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdv, иногда может быть достаточно консистентности на уровне запроса, чтобы джойны фигню не выдавали. А если читать разные таблицы отдельными запросами и ожидать чего-то вменяемого - тут уж ССЗБ. У меня давно уже есть желание привязать уровень снапшота мониторинга (транзакция/запрос) к уровню изоляции. Юзаешь снапшот - все работает как раньше, хочешь извращений - юзай RC. Как минимум один бонус тут есть - меньше транзакций стартовать, если нужно часто дергать мониторинг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 08:04:12 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
dimitrЗЫ. всему свой инструмент ЗЗЫ. таблоид не в курсе и учить его бесполезноВ смысле ? :-) В продакшене мы вытравили запросы к монам еще полтора года взад, когда столкнулись с необъяснимо долгой установкой коннектов. А в тесте на ОЛТП, который сейчас готовлю, запросы есть только в when-блоках, когда надо стек вызовов построить, дабы в базу его затолкать. Но это выключается легко одним исправлением. А вообще, беспокоит два гондураса. Г-1. Сейчас, если я запрашиваю только ОДНУ таблицу: select count(*)from mon$attachments - ФБ начнёт собирать инфу во все другие mon$-таблички, хотя они мне нафиг не нужны. Г-2. Если база сильно загружена и я запустил какой-то сложный запрос к монам, то сбор инфы может длиться 10-15 минут (я такое много раз наблюдал). Допустим, ждать надоело и я срубил этот запрос. ФБ при этом всё равно будет продолжать сбор всей инфы, не реагируя на то, что ожидатель-получатель уже "ушёл." Это будет как-то исправлено ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 10:44:53 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам1. Есть смысл использовать мон-таблицы для получения информации "о себе" - для контроля в db-триггерах, например.Что именно ? Есть несколько полезных контекст-переменных в SYSTEM. Лучше их брать, чем в mon$ лазить. Гаджимурадов Рустам2. Мало смысла использовать мон-таблицы для контроля "загруженности" БД, кроме как "на текущий момент" (т.е. вручную, а не в фоне, автоматом). С увеличением количества коннектов ситуация резко ухудшается.Тормозит ли сейчас база, выясняется пока что только эмпирически: либо усера орут, либо сам видишь. В любой базе есть несколько десятков запросов, которые выполняются сотни-тысячи раз в день, и которые всегда должны летать, т.е. их время должно быть до 30 мс. И вот если именно эти запросы начали клинить, тогда - точно, "ку-ку". Полезно было бы иметь что-то типа watcher'a, который отслеживал бы падение скорости заранее вбитых в его память запросов (в параметризованном виде, ес-сно). Гаджимурадов РустамДля DBA разумнее использовать аудит для этих целей.Аудит, запущенный с time_threshold = NNNN, где NNNN > 1000 (к примеру), не даст быстрого ответа: тормозит ли сейчас база или нет. Ибо там будут в т.ч. и запросы вида "Дай мне оборотку за 10 лет" - а это не признак заклинивания. Просто такие критерии задали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 10:59:08 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Я тоже такую рекомендацию знаю, но нужно таки быть объективным и привести хотя бы пару примеров полезного применения. :) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 11:15:27 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамЯ тоже такую рекомендацию знаю, но нужно таки быть объективным и привести хотя бы пару примеров полезного применения. :)Ты про периодическую отслежку времени вып-я запросов, которые должны "всегда летать" ? Или про какую рекомендацию речь ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 11:41:00 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Таблоид> Или про какую рекомендацию речь ? Про ДСовскую "Зинкину грубость" - пост почему-то только сегодня отослался, хотя написан был ещё вчера. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 11:47:38 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdv> появились в InterBase 7.0 как минимум в 2003 году, т.е. существуют в IB уже 15 лет. Ась?.. Чавось??? -- Vladimir A.Bakhvaloff E-Mail: zirra1969<bark>gmail<dot>com Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 11:52:29 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdv> первичным, imho, является понимание того, что представляют собой mon$-таблицы Это первичным ИМХО не явлется, а когда речь касается рекомендаций/подсказок - вообще нафиг не нужная инфа. > сложно сказать, т.к. впервые системные таблицы мониторинга появились > в InterBase 7.0 как минимум в 2003 году, т.е. существуют в IB уже 15 лет. > mon$ появились в Firebird в версии 2.1, которая вышла в 2008 году, т.е. 6 лет > назад (бета была в 2006 году). У тебя, похоже, с арифметикой совсем худо. Кроме того, я не уверен, что реализация таблиц мониторинга в IB как-то схожа с оными в FB. > ну а нафиг они нужны не снапшотом? Вот, и у тебя понимания предмета и целей нет, а других про суть вещей учить собрался. Это (смена уровня изоляции) обсуждалось уже раза три, ИМХО, не меньше, в т.ч. с твоим участием, если мне не изменяет память. ДЕ вроде тогда даже согласился, что пусть работают как RC, а кому надо - пусть вручную в снапшоте запускают. Но увы, это так и осталось на уровне разговоров (впрочем, тройка ещё не вышла, ХЗ). Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 11:52:47 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov> Вторую половину срезал запрет на чтение простыми пользователями. Для этого есть гранты. Даже собирались на сей счёт отдельную роль вводить, если мне не изменяет память. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 11:53:45 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdvну а нафиг они нужны не снапшотом? Чтобы видеть чем сервер мается в данную конкретную миллисекунду. kdvкак ты собираешься обеспечить целостность между mon$attachments и mon$transaction и остальным? Никак. Потому что ни к чему она для целей мониторинга. kdvКакой прок от чтения этих таблиц в нецелостном состоянии? См. выше: видеть состояние сервера в данную миллисекунду. А не секунду назад и не час. Потому что протекающие процессы мимолётны их снапшот - бесполезен. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 12:01:48 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovвидеть состояние сервера в данную миллисекунду. А не секунду назад и не час. Потому что протекающие процессы мимолётны их снапшот - бесполезен.Ты про содержимое mon$statements.sql_text ? Так можно user-trace на небольшое время запустить ив логе его глянуть. ИМХО, это менее напряжно будет для базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 12:05:22 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
ТаблоидТы про содержимое mon$statements.sql_text ? Я про MON$TRANSACTIONS. Когда софтина получает в лоб "update conflict with transaction XXXXXX", возникает логичное желание посмотреть что это за транзакция и кому принадлежит. Немедленно. Не ожидая пока соберётся целый снапшот состояния. Вне зависимости от привилегий. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 12:26:44 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамКроме того, я не уверен, что реализация таблиц мониторинга в IB как-то схожа с оными в FB. а ты не помнишь, как я ругался (при выходе ИБ 7.5), что идея была из Firebird, а первой ее реализовал InterBase? Структура таблиц tmp$ и mon$ слегка отличается, например, в tmp$attachments есть уже "суммированные" столбцы по транзакциям и коннектам в отношении record/page io, и нет фишек типа remote process, исходно была возможность удалять коннекты и отменять транзакции, и т.д. Но смысл и назначение - ровно то же самое. Насчет "реализации" - она может быть какая угодно, и разумеется, в IB нет "реализации" tmp$ для классика, и код писали разные люди, но mon$ и tmp$ показывают одно и тоже. Например, в IBExpert пункты Services/Database monitoring показывают одинаковую информацию и для соединений с IB, и для соединений с FB, хотя запросы слегка разные. Например, Код: sql 1. выдаст то же самое, что и Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. Гаджимурадов РустамВот, и у тебя понимания предмета и целей нет, а других про суть вещей учить собрался. ну спасибо. Dimitry SibiryakovСм. выше: видеть состояние сервера в данную миллисекунду. А не секунду назад и не час. Потому что протекающие процессы мимолётны их снапшот - бесполезен. извини, но это чешуя. Потому что все равно чтобы увидеть данные, нужно сделать select * from mon$, и результат запроса зафиксируется на момент его выполнения. "не снапшот" mon$ всего лишь облегчит серверу обращение к mon$ - не надо будет делать снапшот всех mon$ таблиц при обращении к любой, и на сотнях коннектов обращение к mon$ будет слегка побыстрее, чем N секунд - , но сути mon$ и сути использования mon$ это никак не поменяет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 13:25:58 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdv> Насчет "реализации" - она может быть какая угодно При чём тут смысл, назначения, поля и пр, если речь шла конкретно о реализации? Если бы таблицы мониторинга (что тут, что там) были "безвредными" при использовании, то и применять их можно было как угодно, в хвост и в гриву. Но у FB, увы, есть свои "особенности" (про IB не в курсе). kdv> ну спасибо. На здоровье. С таким подходом, действительно, какие-то общие рекомендации составлять не стоит. > извини, но это чешуя. Чешуя - это то, что ты тут написал. Во-первых, если это облегчит работу серверу - это хорошо или плохо? Во-вторых, на данный момент не на момент выполнения, а на момент старта транзакции - что две большие разницы. В-третьих, про суть использования mon$ у каждого своя - у тебя своя, у него своя (и я с ним согласен), у кого-то третьего - будут свои цели, тут можно долго рассуждать. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 13:50:26 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамВо-вторых, на данный момент не на момент выполнения, а на момент старта транзакции - что две большие разницы. и ты меня еще попрекаешь "непониманием предмета"? mon$ заполняются не при старте транзакции, а при первом обращении к любой mon$, и данные там будут вовсе не на "момент старта транзакции". а вот для перечитывания содержимого mon - да, надо рестартовать транзакцию. Гаджимурадов РустамНо у FB, увы, есть свои "особенности" (про IB не в курсе). у IB все то же самое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 17:04:25 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdv> а вот для перечитывания содержимого mon - да, надо рестартовать транзакцию. Ну и? > у IB все то же самое. В смысле те же тормоза? Или тоже тормоза, но не такие жёсткие? У них же SMP много раньше появилось, там нет оптимизаций? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 17:30:37 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамНу и? признавать свою ошибку будешь, или как? а то брякнуть легко: " Во-вторых, на данный момент не на момент выполнения, а на момент старта транзакции - что две большие разницы. " Гаджимурадов РустамВ смысле те же тормоза? Или тоже тормоза, но не такие жёсткие? У них же SMP много раньше появилось, там нет оптимизаций? давай, включи мозг. У IB есть только суперсервер, все коннекты в одном адресном пространстве, соответственно таблицы мониторинга можно быстро заполнить. У ФБ наиболее используемы Classic, где процессы самостоятельны, поэтому любое обращение к mon$, даже гипотетически RC, должно опросить все запущенные процессы (при этом сами процессы могут заниматься всяким разным). То есть, сейчас обращение к mon$ получает всю инфу из процесса. Теоретическое RC будет получать только нужную инфу из процессов - mon$transactions, mon$statements, и т.д. Но получение даже частичной информации все равно будет ресурсозатратным. В SuperClassic обращение к mon$ должно быть побыстрее, но разницу разве что Таблоид может сказать. Кроме того, если бы (да кабы) для mon$ можно было ограничиваться своим id, например, при запросе с where mon$attachment_id = self оно бы спрашивало только "свой" процесс, исключая остальные... Но увы, в данном случае where работает "поверх" уже готового результата. Так что пока выгода от mon$ в RC лишь гипотетическая. Практическая - да, однозначно, но вопрос в % выигрыша. p.s. тестами сравнения mon$ в супере, классике и суперклассике, и tmp$, я не занимался, нет конкретного интереса. MonLogger запоминает время, которое потребовалось на получение информации из mon$, тут уже можно делать какие-то оценки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 18:29:45 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdvВ SuperClassic обращение к mon$ должно быть побыстрее, но разницу разве что Таблоид может сказать.я не сравнивал Classic vs SuperClassic, ибо у нас последний уже года два как. Про бешеный расход памяти забыли давно, а по скорости они ничем не уступает. Заваливается весьма редко, так что причин для возврата к CS нет. В трёшке опрос мониторинга идёт быстрее чем в 2.5 (при одинаковой арх-ре). kdvКроме того, если бы (да кабы) для mon$ можно было ограничиваться своим id, например, при запросе с where mon$attachment_id = self оно бы спрашивало только "свой" процесс, исключая остальные... Но увы, в данном случае where работает "поверх" уже готового результата.Угу. И это действительно - "увы" :-/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 19:08:49 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Таблоидя не сравнивал Classic vs SuperClassic, ибо у нас последний уже года два как. я имел в виду - у тебя же есть стенд, и "молотилки", можно было бы проверить при одинаковой нагрузке на CS и SC тем же monlogger, или просто замером select count(*) from mon$attachments. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 20:02:51 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdvТаблоидя не сравнивал Classic vs SuperClassic, ибо у нас последний уже года два как. я имел в виду - у тебя же есть стенд, и "молотилки", можно было бы проверить при одинаковой нагрузке на CS и SC тем же monlogger, или просто замером select count(*) from mon$attachments.я проверю это, но попозжее. Сейчас тут с новым ОЛТП-тестом ковыряюсь, много времени на него уходит. Кстати: а MonLogger, когда только-только я ткнул по нему мышкой, и до момента, когда он получит снимок мон-таблиц, - он вот этот промежуток времени где-то регистрирует ? Т.е. меня интересует: пишет ли он в лог время ОЖИДАНИЯ отклика всех коннектов на команду select ... from mon$... ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 20:09:30 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdv> признавать свою ошибку будешь, или как? а то брякнуть легко: Подучи русский язык. Каждый последующий вызов будет выдавать то же самое, независимо от момента выполнения. Но ты, конечно, можешь поспорить, что запрос делается на пару миллисекунд позже старта транзакции, да. > Но увы, в данном случае where работает "поверх" уже готового результата. Кстати, это тоже большой минус и заслуживает тикета. > Так что пока выгода от mon$ в RC лишь гипотетическая. > Практическая - да, однозначно Это просто феерия какая-то! В мемориз! (с) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 20:28:28 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамПодучи русский язык. еще раз спрашиваю, ты признаешь, что содержимое mon$ не заполняется при старте транзакции, о чем ты лично заявил? " Во-вторых, на данный момент не на момент выполнения, а на момент старта транзакции - что две большие разницы. " Гаджимурадов РустамЭто просто феерия какая-то! В мемориз! (с) а я где-то говорил, что разницы не будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 20:44:36 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdv> о чем ты лично заявил? Ты действительно не понимаешь смысл написанного? Даже с третьего раза? > а я где-то говорил, что разницы не будет? Трудно сказать, у нас разное понимание одних и тех же слов. "гипотетическая" и "Практическая" - да, это близко к сомнению, как минимум. Если не к мнению "а нафиг оно нужно" (о чём ты как раз точно заявлял). Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 21:13:45 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамТы действительно не понимаешь смысл написанного? Даже с третьего раза? разъясни мне, пожалуйста, смысл тобой написанного. непонятно, почему так сложно признать свою ошибку (или описку, или я не знаю что)? Гаджимурадов РустамЕсли не к мнению "а нафиг оно нужно" (о чём ты как раз точно заявлял). я не силен в использовании mon$ "a la Таблоид". Я их использую для поиска проблем. А для этого снапшот mon$ вполне достаточен. То, что я тоже был на стороне "mon$ аки RC в RC" - не спорю, и не протестую. Одновременно я вижу, что большинство и разработчиков и админов вообще не в состоянии использовать mon$, хотя, казалось бы, оно уже 8 лет существует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 23:10:40 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdvОдновременно я вижу, что большинство и разработчиков и админов вообще не в состоянии использовать mon$, хотя, казалось бы, оно уже 8 лет существует. Дык в том-то и вопрос: "для чего их на практике можно использовать?" Возвращаясь к топику: вот сегодня ТС мучил свою базу репликацией. Показывал какие-то совершенно жуткие цифры: производительность репликатора 56 записей в секунду, загрузка ЦПУ репликатором - 0, Firebird - 7%. Средняя очередь запросов к диску - 1. Я совершенно не понимаю как это может быть. И не представляю что можно посмотреть в MON$-таблицах чтобы выяснить почему оно так тормозит на ровном месте. PS: Gallemar, результат fb_lock_print ты, кстати, так и не показал. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 23:33:12 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdv> разъясни мне, пожалуйста, смысл тобой написанного. Если ты подзабыл, то всегда можно промотать страницу и перечитать, это дело пары секунд. А смысл очень простой - на данный момент mon-ы фризятся независимо от уровня изоляции транзакции - т.е. мало того, что это недешевая операция, так она ещё и в RC работать не будет - вернее, будет, но не как в RC, а как в снапшоте. Что обсуждалось уж года три, наверное, но воз и ныне там - то ли ДЕ чего-то опасается (несовместимость, неконсистентность и пр.), то ли "приоритет у тикета низкий", то ли с реализацией не определился, то ли ещё что. А тут ещё ты появляешься с противоположной ортодоксальной позицией в духе "оставьте всё как есть, консистентность наше всё!". Про то, что select (и delete?) игнорирует where-предикат я даже как-то забыл, но тут трудно что-то изменить, наверное. > непонятно, почему так сложно признать свою ошибку (или описку, или я не знаю что)? Признать ошибку мне не жалко, даже если её не было. От меня не убудет. Но, если ты забыл, то напомню, что ты написал некую фигню, увтерждая что мнение собеседника - чешуя, а когда тебе в трёх пунктах объяснили, что это ты фигню несёшь - ты ухватился за разницу между моментом старта транзакции и запроса, как-будто кто-то утверждал, что стартанула транзакция - и все коннекты сразу данные в "мониторинг" скинули. > Я их использую для поиска проблем. > А для этого снапшот mon$ вполне достаточен > Одновременно я вижу, что большинство и разработчиков > и админов вообще не в состоянии использовать mon$ Ну, "мне не надо, как есть хватает, а большинство - вообще неграмотные" - хороший подход, достойный. :) Лично мне оно тоже мало нужно, знаешь ли, ибо ни в каких триггерах оно у меня не сидит. Но это не значит, что там нечего улучшать и подсказать этим самым "неграмотным" для чего и как лучше использовать. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 00:25:22 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Возвращаясь к топику: вот сегодня ТС мучил свою базу репликацией. Показывал какие-то совершенно жуткие цифры: производительность репликатора 56 записей в секунду, загрузка ЦПУ репликатором - 0, Firebird - 7%. Средняя очередь запросов к диску - 1. Я совершенно не понимаю как это может быть. И не представляю что можно посмотреть в MON$-таблицах чтобы выяснить почему оно так тормозит на ровном месте. PS: Gallemar, результат fb_lock_print ты, кстати, так и не показал. Дима,всё будет,связь с сервером получил только поздно вечером,уже поздно было что либо запускать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 07:15:01 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамЕсли ты подзабыл, то всегда можно промотать страницу и перечитать, это дело пары секунд. я твою фразу тебе три раза привел, и перечитывал неоднократно. kdv - чтобы увидеть данные, нужно сделать select * from mon$, и результат запроса зафиксируется на момент его выполнения. ГР - Во-вторых, на данный момент не на момент выполнения, а на момент старта транзакции - что две большие разницы. ? Гаджимурадов РустамНо, если ты забыл, то напомню, что ты написал некую фигню, увтерждая что мнение собеседника - чешуя, а когда тебе в трёх пунктах объяснили, что это ты фигню несёшь там была совершенно конкретная фраза про "чешую". 15871904 Твои "три пункта были" - про то, что mon$ в RC могли бы занимать меньше ресурсов - про то, что "на момент старта транзакции" - mon$ заполняются? Или что "на момент"? - про то, что при использовании mon$ у каждого свои цели. пункты 1 и 3 я не отрицаю, но они не относились к "видеть состояние сервера в данную миллисекунду и не час назад", что я и назвал чешуей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 12:35:11 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
ОК, нет, при старте старте транзакции все коннекты не ломятся формировать данные мониторинга. Это чрезвычайно важная корректировка, определяющая, особенно в контексте разговора. kdv> пункты 1 и 3 я не отрицаю Аминь и на этом. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 20:36:22 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Какой топик у меня популярный получился,ещё бы кто нить помнил с чего всё началось:) http://www.sql.ru/forum/1088852-a/emulyaciya-hhd-ram ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 21:24:51 |
|
||
|
|

start [/forum/topic.php?all=1&fid=40&tid=1563701]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
178ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 478ms |

| 0 / 0 |
