powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Стоит ли исползьовать Firebird в Enterprise приложениях
10 сообщений из 60, страница 3 из 3
Стоит ли исползьовать Firebird в Enterprise приложениях
    #32329838
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно. 25 соединений - это маловато для того, чтобы сервер не тянул. Можешь проконсультироваться по этому вопросу на news://forums.demo.ru/epsylon.public.interbase - там много людей, у которых базы под большой нагрузкой работают.
...
Рейтинг: 0 / 0
Стоит ли исползьовать Firebird в Enterprise приложениях
    #32338488
Zaharushka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У нас работают две базы на двух серверах - на каждом 200-250 подключений, базы 8-10 Gb. Машины 8 проц Xeon 550 (700) + Raid. Памяти 6-10 Gig. FireBird 1 под Linux. Машина на Xeon 550 явно в пиковую загрузку (9:30-10:30) задыхается, в новый год проапгрейдим на 4 проц Xeon MP 2.5G
...
Рейтинг: 0 / 0
Стоит ли исползьовать Firebird в Enterprise приложениях
    #32346357
Andrey_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы господа так заразительно спорите. Захотелось и мне чего-нибудь потестить.

Итак.

Сервер: P4 2GHz/256 RAM/Win2K Prof
Вобщем машина офисная но на время теста всякий мусор типа AVP, ICQ, e.t.c. выгружен.

Firebird-1.5.0.4027-RC7-Win32



Код: plaintext
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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
 /*
БД
PAGE_SIZE = 4096
CharSet = NONE
Forced writes = Enabled
Размер кэша 40960 страниц (~160 Mb)
*/ 

create table tbl1
(
Id   integer,
Name varchar( 20 )
);

create generator gen1;

 /* Процедура заполнения */ 
set term ^ ;
create or alter procedure AddRecs(I integer)
as begin
while (:I> 0 ) do
  begin
  insert into tbl1(Id, Name) values (gen_id(gen1,  1 ), RandomStrE( 10 ,  20 ));
  I=:I- 1 ;
  end
end ^
set term ; ^

 /* функция RandomStrE взята с ibase.ru (randomudf.zip) */ 
 /* Добавлено 100 000 000 записей */ 



create index IDX_ID on tbl1 (id);

 /*
Размер временного файла индекса ~1.5 Ггб
Размер БД ~7.5 Ггб
*/ 



Клиентская программа естественно threaded. Вот текст thread:
Код: plaintext
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.
while not NeedStop do
  begin
  Tr.StartTransaction;
  Act:=Random( 4 )+ 1 ;
  Id:=IntToStr(Random( 200000000 ));
  if Act= 1  then
    Q.SQL.Text:=' select Name from tbl1 where Id='+Id
  else if Act= 2  then
    Q.SQL.Text:=' insert into tbl1 (Id, Name) values ('+Id+', '''+RandomStrE( 10 ,  20 )+''')'
  else if Act= 3  then
    Q.SQL.Text:=' update tbl1 set Name='''+RandomStrE( 10 ,  20 )+''' where (Id='+Id+')'
  else if Act= 4  then
    Q.SQL.Text:=' delete from tbl1 where (Id='+Id+')';

  TStart:=Now; // Время старта запроса
  try
    Q.ExecQuery;
  except
  end;
  TEnd:=Now; // Время завершения запроса
  if Q.Open then Q.Close;
  Tr.Commit;

  Synchronize(ChStop);
  Sleep(Random( 5000 ));
  end;



Алгоритм работы thread-а такой:
- случайным образом выбираем что делать (Select, Insert, Update, Delete)
- случайным образом выбираем Id записи
- выполняем запрос
- засыпаем на <=5 сек.

Естественно клиент запускался не на сервере (LAN 100 мегабит). Клиентских машин было 3.

При 200 thread-ах вел себя более чем достойно:
Максимальное время отклика меньше 2 сек.
Среднее время отклика 0.03-0.04 сек.
Замечаний нет. Винчестер мигает но не слишком часто.
(RAM 256 Mb + размер индекса ~1.5 GGb + Forced writes)



При 300 thread-ах вел себя стабильно:
Максимальное время отклика ~3.5 сек.
Среднее время отклика ~0.2 сек.

В Диспетчере задач на сервере отмечалось странное поведение загрузки процессора:
- 2-2.5 сек загрузка 20-70%
- затем скачок примерно на 2-2.5 сек. 100% загрузка процессора.
Есть подозрение, что господа разработчики всетаки не исправили ошибку
- ухудшение производительности при размере кэша >20000 страниц.



При увеличении количества thread-ов до 400 вел себя относительно стабильно:
Максимальное время отклика ~5 сек.
Среднее время отклика ~0.3-0.4 сек.

Как и при 300 thread-ах отмечалось странное поведение загрузки процессора:
- 2-2.5 сек загрузка 20-70%
- затем скачок примерно на 3.5-4 сек. 100% загрузка процессора.
Винчестер постоянно шурует.


thread-500
Максимальное время отклика ~8 сек.
Среднее время отклика ~0.5-0.6 сек.

те же волны, только интервалы 100% загрузки процессора увеличиваются: ~6 сек.


600-уже нерисклул. :) Хотя думаю это больше вопрос количества оперативки.


Все эксперементы проводильсь на Супер-сервере.
Классик у меня загнулся на 200 thread-ах. Скорее всего потому что я не уменьшил количество кеша для коннекта.
Кстати о размере памяти для коннекта в Классике у меня было ~ 2.5 Mb. Незнаю где у вас взялось 10-60 Mb.

На 150 Классик показал результаты ~ в полтора раза хуже чем Супер.


Вот такие пироги :) А вы говорите Connection refused
...
Рейтинг: 0 / 0
Стоит ли исползьовать Firebird в Enterprise приложениях
    #32348747
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Представляете, что можно ожидать, когда случится FB 2.0 := FB + Yafffil ?
Я не линуксоид, рефлексирующий от звуков "Майкрософт", но очень радует правильность когда-то выбранной платформы (в смысле - InterBase и его клонов).
...
Рейтинг: 0 / 0
Стоит ли исползьовать Firebird в Enterprise приложениях
    #32348802
Andrey_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>Представляете, что можно ожидать, когда случится FB 2.0 := FB + Yafffil ?
Представляю: цена FB2 ~ цена IB8.
...
Рейтинг: 0 / 0
Стоит ли исползьовать Firebird в Enterprise приложениях
    #32348835
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да и MSSQL не все покупают на "Горбушке"...
...
Рейтинг: 0 / 0
Стоит ли исползьовать Firebird в Enterprise приложениях
    #32348893
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если fb2 станет платным, буду вынужден отказаться от его использования по принципиальным соображениям. зачем платить деньги за то что есть бесплатно?
...
Рейтинг: 0 / 0
Стоит ли исползьовать Firebird в Enterprise приложениях
    #32348932
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MySQL, что ли? Или на "горбушку"?
...
Рейтинг: 0 / 0
Стоит ли исползьовать Firebird в Enterprise приложениях
    #32348988
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 alex_k:

Open Source - это не есть халява. Да, вы можете использовать этот продукт бесплатно, но если у вас есть возможность, вам следует сделать пожертвование в FF, поскольку одним из основных источников дохода таких проэктов есть пожертвования. Не будет пожертвований и спонсоров - не будет и сервера.

Я вот тоже сейчас использую FB на шару, но как только у компании появиться такая возможность, я планирую объяснить начальству, что FB тоже делают люди, которые хотят кушать, и пожертвовав энную сумму в FF мы, тем самым, уменьшаем вероятность закрытия проэкта. К тому же, сделав взнос в 300$ вы можете стать членом FF и иметь право голоса при принятии плана на внедрение тех или иных нововведений.

В общем платить или не платить - это вопрос совести и возможностей. Если есть возможность, то лучше заплатить всё-таки.
...
Рейтинг: 0 / 0
Стоит ли исползьовать Firebird в Enterprise приложениях
    #32348995
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я не планирую...
...
Рейтинг: 0 / 0
10 сообщений из 60, страница 3 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Стоит ли исползьовать Firebird в Enterprise приложениях
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]