|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Arioch, и какая связь между количеством БД 1С'овских и архитектурой? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:19 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Симонов Денися как бы склонен к тому что ТС не идиот чтобы использовать супер в 2.1 Я практически уверен в обратном. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:23 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdogПусть на каждой из "200 БД" запускается служба подготовки к выгрузке. (базы разные от 1С, Firebird, ... и до простых текстовых файлов экспорта из клиентбанков) вот и делай под каждый источник данных - свою локальную службу подготовки к репликации, заточенную именно на его формат. грубо говоря, берешь своего клиента, вырезаешь из него все источники, кроме одного нужного на конкретном месте, и делешь программу выгрузки данных для Ивановой Марьи Владимировны. Остальные базы лежат где-как и в локальной сети и на удаленках... я из них только данные тяну на клиента, а уже потом фигачу в БД БД сдохла, забудь. Эту работу можно теперь делать только на других машинах. Либо на самих источниках данных по мега-файлу запроса к репликации - НЕ ТРОГАЯ ОСНОВНОЙ СЕРВЕР вообще Либо создавать второй сервер, на него выгружать полную копию основной БД - см. nbackup - и там молотить твои 40 минут опять таки НЕ ТРОГАЯ ОСНОВНОЙ СЕРВЕР, сохраняе изменения в файл-пакет, и уже готовую выжимку не требующую больше проверок - отсялать на основной. Во втором случае, однако, потенциально будут две проблемы: 1) пока твои 40 минут шли бухи что-то сделали с основной БД и пакет подготовленный по слепку 40-минутной давности уже не подходит 1 в 1, нужно его обрабатывтаь напильником. Может такое быть или нет? Не знаю, только ты знаешь с какими данными кто работает в твоей системе. 2) сегодня у тебя 200 баз, а завтра 20 000 - и второй сервер так же захлебнётся. То есть второй вариант - это быстро заткнуть дырку и отдышаться. А в конечном итоге тебе все равно придется работу распараллеливать. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:25 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Hello, Симонов Денис! You wrote on 25 июля 2016 г. 12:24:36: Симонов Денис> я как бы склонен к тому что ТС не идиотты склонен недооценивать влияние мировой энтропии на всеобщую идиотию человеческих индивидуумов. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:26 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Симонов Дениси какая связь между количеством БД 1С'овских и архитектурой? прямой нету но примерно в такой же пропорции увеличивались и остальные рабочие места - в том числе работающие с его ФБ-самопиской. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:27 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
[quot Dimitry Sibiryakov] dgdogДелаю Select к своей базе проверяю по 3 значениям (индексы, план все вроде в порядке, запрос летит шустро, НО ИХ МНОГО). Покажи код, которым это делаешь и план запроса. Клиент формирует Код: pascal 1.
отсылает авторPlan PLAN (SDELKA INDEX (SDELKA_IDX2)) Adapted Plan PLAN (SDELKA INDEX (SDELKA_IDX2)) ------ Performance info ------ Prepare time = 15ms Execute time = 0ms Current memory = 1 846 464 Max memory = 3 084 544 Memory buffers = 75 Reads from disk to cache = 3 Writes from cache to disk = 0 Fetches from cache = 15 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:27 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovСимонов Денися как бы склонен к тому что ТС не идиот чтобы использовать супер в 2.1 Я практически уверен в обратном. Классик ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:28 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdogКлиент формирует За использование непрепарированных запросов в таких условиях надо отрывать руки. Используй параметры и получишь нужное ускорение. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:33 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Надеюсь, запросы не текстом каждый раз наново формируются, а используют параметры и prepare ? группируй свои запросы, хотя бы по дате Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:33 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3.
http://bobby-tables.com/ru_RU/delphi.html ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:35 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
AriochdgdogПусть на каждой из "200 БД" запускается служба подготовки к выгрузке. (базы разные от 1С, Firebird, ... и до простых текстовых файлов экспорта из клиентбанков) вот и делай под каждый источник данных - свою локальную службу подготовки к репликации, заточенную именно на его формат. грубо говоря, берешь своего клиента, вырезаешь из него все источники, кроме одного нужного на конкретном месте, и делешь программу выгрузки данных для Ивановой Марьи Владимировны.... Практически так оно и есть. Запускается десять разных клиентов которые тащат конкретные данные из конкретных источников. Но мне каждую строчку надо сверить с моей базой. Они наваливаются разом ... и привет ЦП. Логика проверки вся на клиенте. В Firebird у меня мозгов не хватит все перетянуть. ЦП кстати гавно I5. Лучше ближайшие три месяца не будет. ВотТакВота ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:38 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
ну и до кучи линейный поиск на клиенте (типа FieldByName и ParamByName в Delphi) тоже использовать в цикле НЕЛЬЗЯ если подобное у тебя есть - убирай его наружу циклов ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:39 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdogПрактически так оно и есть. Запускается десять разных клиентов которые тащат конкретные данные из конкретных источников. Но мне каждую строчку надо сверить с моей базой НЕ НАДО делай клиенты, которые не будут трогать основной сервер вообще. сервер должен подготовить ОДИН общий zip-файл с требованием к репликации и всей сопутствующей инфой, которого будет достаточно ЛЮБОМУ клиенту для проверки всех его записей НЕ ТРОГАЯ сам сервер ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:41 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdogЗапускается десять разных клиентов которые тащат ЦП кстати гавно I5 ну так запускай свои 10 клиентов на 10 разных процессоров если даже один i5 для тебя мелочь несущественная, то 10 штук i5 побыстрее будут ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:43 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Ariochсервер должен подготовить ОДИН общий zip-файл с требованием к репликации и всей сопутствующей инфой, которого будет достаточно ЛЮБОМУ клиенту для проверки всех его записей НЕ ТРОГАЯ сам сервер Во-первых, вы с ТСом клиентами называете разные вещи. Во-вторых, у него на подготовку файла уйдёт больше ресурсов, чем сейчас. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:44 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdogЦП кстати гавно I5. Лучше ближайшие три месяца не будет. - Сам ты такое слово. (падобраму канешна) :-) Потому как нефег сваливать на ЦП свое не знание и не понимание, прикрываясь "Он железный, вот пусть и пашет..." ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:46 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
AriochНадеюсь, запросы не текстом каждый раз наново формируются, а используют параметры и prepare ? группируй свои запросы, хотя бы по дате Код: sql 1. 2. 3.
Пробовал и собирать строку и через параметры. А смысл? Нагрузка то на сервер не уменьшается. Сейчас параметрами шьет. Но один фик, там математика сначала обрабатывает ибо надо обрезать пробелы, проверить формат прилетевший из 1С по COM. Еще этот долбаный NULL ))) Чего и как нафигачили в назначении платежа и т.п. Но это отлаженная логика. Дело только в забое ЦП кучей запросов. Которые я хочу свести к одному запросу. Вытянуть данные по Клиенту от даты, до даты на клиента и там в памяти разобрать. Подготовить файл-табличку и её залить в БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:47 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovВо-вторых, у него на подготовку файла уйдёт больше ресурсов, чем сейчас. судя по вышесказанному файл по сути будет линейной срезкой нескольких таблиц за три последних месяца так что ресурсы если какие и будут нужны - то disk i/o и больше ничего у него затык в процессоре => поставить отдельный винчестер исключительно под формирование пакета и прием ответных пакетов означает разгрузить его бутылочное горлышко, что ему и требуется ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:47 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdogНагрузка то на сервер не уменьшается. Сейчас параметрами шьет. Prepare делаешь ? как минимум Prepare добавляет нагрузку серверу на каждый отдельный запрос либо решай радикально - избавляй сервер от этой работы вообще либо грызись за каждый каждый процент, в том числе и по возможности убирай каждый лишний случай парсинга SQL-запросов на сервере ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:49 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Di_LInedgdogЦП кстати гавно I5. Лучше ближайшие три месяца не будет. - Сам ты такое слово. (падобраму канешна) :-) Потому как нефег сваливать на ЦП свое не знание и не понимание, прикрываясь "Он железный, вот пусть и пашет..." А кто? Я за него, чтоли буду считать и тригерры с процедурами на логарифмической линейке высчитывать ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:50 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovdgdogКлиент формирует За использование непрепарированных запросов в таких условиях надо отрывать руки. Используй параметры и получишь нужное ускорение. Ускорение чего? Как быстро запрос долетит до сервера???? Так в этом нет беды... Сервак, что так, что эдак переварить не успевает. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:51 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdogПробовал и собирать строку и через параметры. А смысл? Нагрузка то на сервер не уменьшается. Значит плохо пробовал. Потому что от применения препарированных запросов нагрузка должна уменьшаться. В твоём случае - в 15 раз. Код показывай. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:52 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
троллетопег. имхо. ТС - картонная дурилка. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:53 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdog, твое дело, конечно не руками считать - а заранее продумать как сделать, чтобы не гонять процессор попусту и считать только то, что надо потому что как-то это все странно звучит, если вместе и i5 - дерьмо (вы русские есть очень много кушать!) и одного нового процессора не получишь, хотя фирма растёт на дрожжах и заела себе сотни новых компьютеров с базами данных на них странно это звучит вместе взятое ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:54 |
|
Delphi, FireBird создать таблицу в памяти клиента
|
|||
---|---|---|---|
#18+
dgdogУскорение чего? Как быстро запрос долетит до сервера???? Ускорение обработки запроса сервером. За счёт понижения нагрузки на ЦПУ, который, по твоим словам, и является у тебя бутылочным горлышком. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 12:54 |
|
|
start [/forum/topic.php?fid=40&msg=39279556&tid=1561790]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
23ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 134ms |
0 / 0 |