Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.144.189.177] |
|
Данный раздел предназначается для обсуждения вопросов использования баз данных, за исключением составления запросов на SQL. Для этого выделен специальный раздел. Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ. |
Страницы: (4) « Первая ... 2 3 [4] все ( Перейти к последнему сообщению ) |
Сообщ.
#46
,
|
|
|
JoeUserНу это уже про шаманство на очень высоких нагрузках Ну и вставку пакетами сервак делать умеет
|
Сообщ.
#47
,
|
|
|
Цитата JoeUser @ Есть предположение что, если грамотно реализовать сборку единичных логов в "пакеты", то можно будет выжимать чудеса по скоростям Для чудес по скоростям достаточно создать таблицу для первичного приёма логов на MEMORY-движке, и пачками переливать из неё поступившие сведения в основную таблицу. |
Сообщ.
#48
,
|
|
|
Меня тут "осенило" ... сборку логов пакетами можно осуществлять уже имеющимися средствами "а-ля тонких клиентов". Нужно всего лишь скрестить "syslog" или какой-нить его форк типа "syslog-ng" с существующим сервером БД. Тогда первичные запросы на запись логов будет принимать не сам сервак БД, а посредник (syslog*). Времени пока особо нет, так поверхностное гугление дало два интересных линка "kiwisyslog" и "Writing syslog messages to MySQL, PostgreSQL or any other supported Database" ... походу мы упорно изобретаем велосипед из дерева
Пакетные вставки действительно должны дать ощутимый прирост скорости. А "лайт-нормализацию" можно делать и на тонком клиенте, там же формировать и пачки для записи. Такие дела. |
Сообщ.
#49
,
|
|
|
JoeUser и ? топикстартеру от этого уже все ясно эт раз
что у нас вообще по физике происходит. Есть вэбсервер Он , обычно, пишет текстовый лог. посещений Если мне не изменяет память, можно перенаправить эту запись в биде. Или надо вклиниваться в каждую страницу с кодом который "отгрузит лог". Или увы, по расписанию брать серверный лог и пакетом его грузить. что дальше? Если грузим пакетами нам насрать. Може м и разобрать можем и .... Если вклиниваемся в работу вэбсервера любой затык на отгрузке лога будет тормозить сервак при синхронном соединении или приведет к потерям данных при асинхронном Тут нужен анализ что нам дороже. Возможно потеря 10-15 данных на результате анализа и не скажется а возможно нужно все "до копейки". Если вклиниватся в работу страничек - практически тоже что и с вэбсервером. Или загрузка страницы увеличивается на ожидание отклика или есть риск потерь данных Вот как бы и все Где тут найден "клиент" и тем более "тонкий клиент" не понимаю. Лайт, не лайт тоже не понятно. Но то что любая обработка затормозит вставку эт факт. На сколько - померяем хохмы для. К чему ведут "тормоза" при вставке лога - выше указал Добавлено Цитата Akina @ Для чудес по скоростям достаточно создать таблицу для первичного приёма логов на MEMORY-движке, и пачками переливать из неё поступившие сведения в основную таблицу. ну или так.. А на обработке "пачки" скорость уже не настолько критична. |
Сообщ.
#50
,
|
|
|
Цитата Павел Калугин @ Есть вэбсервер Он , обычно, пишет текстовый лог. посещений В случае вебсервера - уже есть возможность "не писать лог", а скормить его syslogd, а там хоть трава не расти. В свою очередь, syslogd - асинхронен по сути (сбрасывает кэш по своим правилам). Осталось только научить syslogd сбрасывать не в системный журнал (как правило это /var/log/messages) или выделенные лог-файлы, а завернуть это пакетными запросами к серверу БД. Тормозов как раз тут - по самому минимуму, ибо все происходит асинхронно. По поводу возможных потерь ... ну если система кривая по настройке и по энергообеспечению. Но это другая композиция из другой оперы. |
Сообщ.
#51
,
|
|
|
Цитата JoeUser @ Осталось только научить syslogd сбрасывать не в системный журнал (как правило это /var/log/messages) или выделенные лог-файлы, а завернуть это пакетными запросами к серверу БД. "syslog vs syslog-ng" - походу все уже есть |
Сообщ.
#52
,
|
|
|
Цитата JoeUser @ По поводу возможных потерь ... ну если система кривая по настройке и по энергообеспечению. Но это другая композиция из другой оперы. нет вопрос как раз про потери потому что ыйд сервер не способен принят такое количество запросов. с инсертами в одни и те же таблицы и параллельным поиском по ним |
Сообщ.
#53
,
|
|
|
Цитата Павел Калугин @ нет вопрос как раз про потери потому что ыйд сервер не способен принят такое количество запросов. с инсертами в одни и те же таблицы и параллельным поиском по ним Это вопрос из разряда "как записать, если стоит защита от записи" Ну если сервак не тянет физически поступаемый объем инфы, или уменьшать поступающую инфу, либо строить/расширять кластер. ИМХО, если сервак работает более чем на 50% загрузки - это уже "звонок" о том, что не все так хорошо в датском королевстве. |
Сообщ.
#54
,
|
|
|
Цитата JoeUser @ или уменьшать поступающую инфу, либо строить/расширять кластер. ИМХО, если сервак работает более чем на 50% загрузки - это уже "звонок" о том, что не все так хорошо в датском королевстве. Все же писать софт правильно более бюджетное решение |
Сообщ.
#55
,
|
|
|
Цитата Павел Калугин @ се же писать софт правильно более бюджетное решение Ну таки да |