powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Сравнение скорости подключения в 2.5 и 3.0
18 сообщений из 18, страница 1 из 1
Сравнение скорости подключения в 2.5 и 3.0
    #38375099
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решил сравнить скорость подключения к БД в 3.0 Alpha и 2.5. Для этого я слегка модифицировал недавний тест для обнаружения утечки в embeded.dll

Исходник теста
Код: pascal
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.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
program Project1;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils,
  Windows;

const
  fb30_client = 'c:\Program Files\Firebird\Firebird_3_0\fbclient.dll';
  fb25_client = 'c:\Program Files\Firebird\Firebird_2_5\bin\fbclient.dll';

  database_30 = 'localhost/3051:test';
  database_25 = 'localhost:test';

  ConnectionProperty = #1'?'#1#3'0'#7'WIN1251'#$1C#6'SYSDBA'#$1D#9'masterkey';

procedure DBTest(const ADatabase: PWideChar; const AClientLib: PWideChar);
type
  ISCStatus = Integer;
  PISCStatus = ^ISCStatus;
  isc_db_handle = PPointer;
  IscDbHandle = type isc_db_handle;
  PIscDbHandle = ^IscDbHandle;

const
  fb_shutrsn_svc_stopped      = -1;
  fb_shutrsn_app_stopped      = -3;
  ISC_STATUS_LENGTH = 20;
  CLASS_MASK = $F0000000; // Defines the code as warning, error, info, or other

type
  TStatusVector = array[0..ISC_STATUS_LENGTH - 1] of ISCStatus;

var
  isc_attach_database: function(user_status: PISCStatus; file_length: Smallint; file_name: PAnsiChar; handle: PIscDbHandle; dpb_length: Smallint; dpb: PAnsiChar): ISCStatus; stdcall;
  isc_detach_database: function(user_status: PISCStatus; handle: PIscDbHandle): ISCStatus; stdcall;
  fb_shutdown: function(timeout: Cardinal; const reason: Integer): Integer; stdcall;

  procedure CheckApiCall(const Status: ISCStatus);

    function GetClass(code: ISCStatus): Word;
    begin
      Result := (code and CLASS_MASK) shr 30;
    end;

  begin
    if (Status <> 0) and (GetClass(Status) = 0) then
      raise Exception.Create('Error: ' + IntToStr(Status));
  end;

  procedure AttachDatabase(const FileName: RawByteString; var DbHandle: IscDbHandle; Params: AnsiString);
  var
    StatusVector: TStatusVector;
  begin
    FillChar(StatusVector, SizeOf(StatusVector), 0);
    CheckApiCall(isc_attach_database(@StatusVector, Length(FileName), Pointer(FileName),
      @DBHandle, Length(Params), PAnsiChar(Params)));
  end;

  procedure DetachDatabase(var DbHandle: IscDbHandle);
  var
    StatusVector: TStatusVector;
  begin
    FillChar(StatusVector, SizeOf(StatusVector), 0);
    CheckApiCall(isc_detach_database(@StatusVector, @DbHandle));
    DbHandle := nil;
  end;

var
  Handle: THandle;
  fb_shutdownRes: Integer;
  DbHandle: IscDbHandle;
  DbHandles: array[1..100] of IscDbHandle;
  I: Integer;
  t: LongInt;
  dt: LongInt;
begin
  Handle := Windows.LoadLibrary(AClientLib);
  if Handle <= HINSTANCE_ERROR then
    RaiseLastOSError;

  isc_attach_database := GetProcAddress(Handle, 'isc_attach_database');
  Assert(Assigned(isc_attach_database));
  isc_detach_database := GetProcAddress(Handle, 'isc_detach_database');
  Assert(Assigned(isc_detach_database));
  fb_shutdown := GetProcAddress(Handle, 'fb_shutdown');
  Assert(Assigned(fb_shutdown));

  Writeln('  Attach-detach test ');
  t := GetTickCount();
  for I := 1 to 100 do
  begin
    DbHandle := nil;
    AttachDatabase(ADatabase, DbHandle, ConnectionProperty);

    DetachDatabase(DbHandle);
  end;
  dt := GetTickCount() - t;
  Writeln(Format('    time: %d ms', [dt]));
  Writeln(Format('    speed: %5.2f op/s', [100 * 1000 / dt]));
  Writeln(Format('    avg time: %8.2f ms', [dt / 100.0]));

  Writeln('  Single attach test ');
  t := GetTickCount();
  DbHandle := nil;
  AttachDatabase(ADatabase, DbHandle, ConnectionProperty);
  dt := GetTickCount() - t;
  Writeln(Format('    time: %d ms', [dt]));
  Writeln(Format('    speed: %5.2f op/s', [1000 / dt]));
  Writeln(Format('    avg time: %8.2f ms', [dt / 1.0]));

  Writeln('  Single detach test ');
  DetachDatabase(DbHandle);
  dt := GetTickCount() - t;
  Writeln(Format('    time: %d ms', [dt]));
  Writeln(Format('    speed: %5.2f op/s', [1000 / dt]));
  Writeln(Format('    avg time: %8.2f ms', [dt / 1.0]));

  // Такс попробуем подключить первый, а дальше групповое подключение
  DbHandle := nil;
  AttachDatabase(ADatabase, DbHandle, ConnectionProperty);

  Writeln('  100 attach test (with 1 attach already active)');
  t := GetTickCount();
  for I := 1 to 100 do
  begin
    DbHandles[I] := nil;
    AttachDatabase(ADatabase, DbHandles[I], ConnectionProperty);
  end;
  dt := GetTickCount() - t;
  Writeln(Format('    time: %d ms', [dt]));
  Writeln(Format('    speed: %5.2f op/s', [100 * 1000 / dt]));
  Writeln(Format('    avg time: %8.2f ms', [dt / 100.0]));

  Writeln('  100 detach test ');
  t := GetTickCount();
  for I := 1 to 100 do
  begin
    DetachDatabase(DbHandles[I]);
  end;
  dt := GetTickCount() - t;
  Writeln(Format('    time: %d ms', [dt]));
  Writeln(Format('    speed: %5.2f op/s', [100 * 1000 / dt]));
  Writeln(Format('    avg time: %8.2f ms', [dt / 100.0]));

  DetachDatabase(DbHandle);

  fb_shutdownRes := fb_shutdown(60000, fb_shutrsn_app_stopped); // other good connections had been dropped

  FreeLibrary(Handle);
end;


begin
  Writeln('Firebird 2.5 SC');
  DBTest(database_25, fb25_client);
  Writeln('Firebird 3.0 SS');
  DBTest(database_30, fb30_client);
  Readln;
end.



Результаты
Код: 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.
39.
40.
41.
Firebird 2.5 SC
  Attach-detach test
    time: 2683 ms
    speed: 37,27 op/s
    avg time:    26,83 ms
  Single attach test
    time: 16 ms
    speed: 62,50 op/s
    avg time:    16,00 ms
  Single detach test
    time: 16 ms
    speed: 62,50 op/s
    avg time:    16,00 ms
  100 attach test (with 1 attach already active)
    time: 842 ms
    speed: 118,76 op/s
    avg time:     8,42 ms
  100 detach test
    time: 78 ms
    speed: 1282,05 op/s
    avg time:     0,78 ms
Firebird 3.0 SS
  Attach-detach test
    time: 9890 ms
    speed: 10,11 op/s
    avg time:    98,90 ms
  Single attach test
    time: 78 ms
    speed: 12,82 op/s
    avg time:    78,00 ms
  Single detach test
    time: 94 ms
    speed: 10,64 op/s
    avg time:    94,00 ms
  100 attach test (with 1 attach already active)
    time: 7785 ms
    speed: 12,85 op/s
    avg time:    77,85 ms
  100 detach test
    time: 31 ms
    speed: 3225,81 op/s
    avg time:     0,31 ms


По результатам теста видно, что пока тройка отстаёт в 3 раза. Хотя мне казалось, что в супере подключения будут дешевле.
Any Comments
...
Рейтинг: 0 / 0
Сравнение скорости подключения в 2.5 и 3.0
    #38375130
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попрошу выполнить сравнение при разных размерах страничного кеша
...
Рейтинг: 0 / 0
Сравнение скорости подключения в 2.5 и 3.0
    #38375143
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr,

В FB 2.5 CS -256 страниц
В FB 3.0 SS -8192 страниц

FB 3.0 SS -256 страниц
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Firebird 3.0 SS
  Attach-detach test
    time: 8736 ms
    speed: 11,45 op/s
    avg time:    87,36 ms
  Single attach test
    time: 78 ms
    speed: 12,82 op/s
    avg time:    78,00 ms
  Single detach test
    time: 93 ms
    speed: 10,75 op/s
    avg time:    93,00 ms
  100 attach test (with 1 attach already active)
    time: 7691 ms
    speed: 13,00 op/s
    avg time:    76,91 ms
  100 detach test
    time: 31 ms
    speed: 3225,81 op/s
    avg time:     0,31 ms


Мало отличается. Могу ещё на 2.5 на SS проверить
...
Рейтинг: 0 / 0
Сравнение скорости подключения в 2.5 и 3.0
    #38375198
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сравнивать надо SS с SS и CS с CS при одинаковом размере кеша. Хотя бы разок с 256 страниц и разок с 8К страниц. Полученные четыре результата выложить.
...
Рейтинг: 0 / 0
Сравнение скорости подключения в 2.5 и 3.0
    #38375236
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr,

Результаты
SS 2048

Код: 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.
39.
40.
41.
Firebird 2.5
  Attach-detach test
    time: 2480 ms
    speed: 40,32 op/s
    avg time:    24,80 ms
  Single attach test
    time: 16 ms
    speed: 62,50 op/s
    avg time:    16,00 ms
  Single detach test
    time: 16 ms
    speed: 62,50 op/s
    avg time:    16,00 ms
  100 attach test (with 1 attach already active)
    time: 905 ms
    speed: 110,50 op/s
    avg time:     9,05 ms
  100 detach test
    time: 16 ms
    speed: 6250,00 op/s
    avg time:     0,16 ms
Firebird 3.0
  Attach-detach test
    time: 9438 ms
    speed: 10,60 op/s
    avg time:    94,38 ms
  Single attach test
    time: 78 ms
    speed: 12,82 op/s
    avg time:    78,00 ms
  Single detach test
    time: 94 ms
    speed: 10,64 op/s
    avg time:    94,00 ms
  100 attach test (with 1 attach already active)
    time: 9266 ms
    speed: 10,79 op/s
    avg time:    92,66 ms
  100 detach test
    time: 47 ms
    speed: 2127,66 op/s
    avg time:     0,47 ms

SS 8196

Код: 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.
39.
40.
41.
Firebird 2.5
  Attach-detach test
    time: 4009 ms
    speed: 24,94 op/s
    avg time:    40,09 ms
  Single attach test
    time: 31 ms
    speed: 32,26 op/s
    avg time:    31,00 ms
  Single detach test
    time: 31 ms
    speed: 32,26 op/s
    avg time:    31,00 ms
  100 attach test (with 1 attach already active)
    time: 375 ms
    speed: 266,67 op/s
    avg time:     3,75 ms
  100 detach test
    time: 78 ms
    speed: 1282,05 op/s
    avg time:     0,78 ms
Firebird 3.0
  Attach-detach test
    time: 9782 ms
    speed: 10,22 op/s
    avg time:    97,82 ms
  Single attach test
    time: 78 ms
    speed: 12,82 op/s
    avg time:    78,00 ms
  Single detach test
    time: 93 ms
    speed: 10,75 op/s
    avg time:    93,00 ms
  100 attach test (with 1 attach already active)
    time: 7894 ms
    speed: 12,67 op/s
    avg time:    78,94 ms
  100 detach test
    time: 47 ms
    speed: 2127,66 op/s
    avg time:     0,47 ms


SS 32768

Код: 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.
39.
40.
41.
Firebird 2.5
  Attach-detach test
    time: 3698 ms
    speed: 27,04 op/s
    avg time:    36,98 ms
  Single attach test
    time: 31 ms
    speed: 32,26 op/s
    avg time:    31,00 ms
  Single detach test
    time: 31 ms
    speed: 32,26 op/s
    avg time:    31,00 ms
  100 attach test (with 1 attach already active)
    time: 406 ms
    speed: 246,31 op/s
    avg time:     4,06 ms
  100 detach test
    time: 15 ms
    speed: 6666,67 op/s
    avg time:     0,15 ms
Firebird 3.0
  Attach-detach test
    time: 13213 ms
    speed:  7,57 op/s
    avg time:   132,13 ms
  Single attach test
    time: 109 ms
    speed:  9,17 op/s
    avg time:   109,00 ms
  Single detach test
    time: 141 ms
    speed:  7,09 op/s
    avg time:   141,00 ms
  100 attach test (with 1 attach already active)
    time: 7738 ms
    speed: 12,92 op/s
    avg time:    77,38 ms
  100 detach test
    time: 31 ms
    speed: 3225,81 op/s
    avg time:     0,31 ms


CS 256

Код: 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.
39.
40.
41.
Firebird 2.5
  Attach-detach test
    time: 7083 ms
    speed: 14,12 op/s
    avg time:    70,83 ms
  Single attach test
    time: 62 ms
    speed: 16,13 op/s
    avg time:    62,00 ms
  Single detach test
    time: 78 ms
    speed: 12,82 op/s
    avg time:    78,00 ms
  100 attach test (with 1 attach already active)
    time: 6490 ms
    speed: 15,41 op/s
    avg time:    64,90 ms
  100 detach test
    time: 281 ms
    speed: 355,87 op/s
    avg time:     2,81 ms
Firebird 3.0
  Attach-detach test
    time: 20187 ms
    speed:  4,95 op/s
    avg time:   201,87 ms
  Single attach test
    time: 187 ms
    speed:  5,35 op/s
    avg time:   187,00 ms
  Single detach test
    time: 187 ms
    speed:  5,35 op/s
    avg time:   187,00 ms
  100 attach test (with 1 attach already active)
    time: 19313 ms
    speed:  5,18 op/s
    avg time:   193,13 ms
  100 detach test
    time: 140 ms
    speed: 714,29 op/s
    avg time:     1,40 ms

CS 2048

Код: 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.
39.
40.
41.
Firebird 2.5
  Attach-detach test
    time: 7737 ms
    speed: 12,92 op/s
    avg time:    77,37 ms
  Single attach test
    time: 63 ms
    speed: 15,87 op/s
    avg time:    63,00 ms
  Single detach test
    time: 63 ms
    speed: 15,87 op/s
    avg time:    63,00 ms
  100 attach test (with 1 attach already active)
    time: 6240 ms
    speed: 16,03 op/s
    avg time:    62,40 ms
  100 detach test
    time: 359 ms
    speed: 278,55 op/s
    avg time:     3,59 ms
Firebird 3.0
  Attach-detach test
    time: 19953 ms
    speed:  5,01 op/s
    avg time:   199,53 ms
  Single attach test
    time: 187 ms
    speed:  5,35 op/s
    avg time:   187,00 ms
  Single detach test
    time: 202 ms
    speed:  4,95 op/s
    avg time:   202,00 ms
  100 attach test (with 1 attach already active)
    time: 19812 ms
    speed:  5,05 op/s
    avg time:   198,12 ms
  100 detach test
    time: 296 ms
    speed: 337,84 op/s
    avg time:     2,96 ms

SC 256

Код: 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.
39.
40.
41.
Firebird 2.5
  Attach-detach test
    time: 2060 ms
    speed: 48,54 op/s
    avg time:    20,60 ms
  Single attach test
    time: 15 ms
    speed: 66,67 op/s
    avg time:    15,00 ms
  Single detach test
    time: 31 ms
    speed: 32,26 op/s
    avg time:    31,00 ms
  100 attach test (with 1 attach already active)
    time: 905 ms
    speed: 110,50 op/s
    avg time:     9,05 ms
  100 detach test
    time: 94 ms
    speed: 1063,83 op/s
    avg time:     0,94 ms
Firebird 3.0
  Attach-detach test
    time: 19749 ms
    speed:  5,06 op/s
    avg time:   197,49 ms
  Single attach test
    time: 188 ms
    speed:  5,32 op/s
    avg time:   188,00 ms
  Single detach test
    time: 188 ms
    speed:  5,32 op/s
    avg time:   188,00 ms
  100 attach test (with 1 attach already active)
    time: 19360 ms
    speed:  5,17 op/s
    avg time:   193,60 ms
  100 detach test
    time: 156 ms
    speed: 641,03 op/s
    avg time:     1,56 ms



Пока в любом режиме и при любом кэше 2.5 подключается гораздо быстрее.
...
Рейтинг: 0 / 0
Сравнение скорости подключения в 2.5 и 3.0
    #38394142
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дополнил тест

Код: 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.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
Firebird 2.5
  Attach-detach test
    time: 2013 ms
    speed: 49,68 op/s
    avg time:    20,13 ms
  Single attach test
    time: 15 ms
    speed: 66,67 op/s
    avg time:    15,00 ms
  Single detach test
    time: 31 ms
    speed: 32,26 op/s
    avg time:    31,00 ms
  100 attach test (with 1 attach already active)
    time: 780 ms
    speed: 128,21 op/s
    avg time:     7,80 ms
  100 detach test
    time: 94 ms
    speed: 1063,83 op/s
    avg time:     0,94 ms
Firebird 3.0
  Attach-detach test
    time: 9641 ms
    speed: 10,37 op/s
    avg time:    96,41 ms
  Single attach test
    time: 94 ms
    speed: 10,64 op/s
    avg time:    94,00 ms
  Single detach test
    time: 94 ms
    speed: 10,64 op/s
    avg time:    94,00 ms
  100 attach test (with 1 attach already active)
    time: 7551 ms
    speed: 13,24 op/s
    avg time:    75,51 ms
  100 detach test
    time: 31 ms
    speed: 3225,81 op/s
    avg time:     0,31 ms
Firebird 3.0 (Legacy_Auth)
  Attach-detach test
    time: 2512 ms
    speed: 39,81 op/s
    avg time:    25,12 ms
  Single attach test
    time: 16 ms
    speed: 62,50 op/s
    avg time:    16,00 ms
  Single detach test
    time: 31 ms
    speed: 32,26 op/s
    avg time:    31,00 ms
  100 attach test (with 1 attach already active)
    time: 920 ms
    speed: 108,70 op/s
    avg time:     9,20 ms
  100 detach test
    time: 31 ms
    speed: 3225,81 op/s
    avg time:     0,31 ms
=== Finish ===

Из теста видно, что подключения с использованием Srp происходит гораздо дольше, чем при использовании Legacy_Auth.
Legacy_Auth у меня подключается клиентом от 2.5.
...
Рейтинг: 0 / 0
Сравнение скорости подключения в 2.5 и 3.0
    #38394161
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисИз теста видно, что подключения с использованием Srp происходит гораздо дольше, чем при использовании Legacy_Auth.Ну так это и не удивительно.

Кто там алкал шифрования сетевого трафика ? Нате :)
...
Рейтинг: 0 / 0
Сравнение скорости подключения в 2.5 и 3.0
    #38394172
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

ну насколько я понял сильно замедлилось только подключение. Вроде передача остального трафика хоть и медленней но не на столько. Надо бы какой-нибудь тест для этого придумать.
...
Рейтинг: 0 / 0
Сравнение скорости подключения в 2.5 и 3.0
    #38394178
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

Думаю, там генерация и проверка сеансового ключа тормозит сильнее, чем шифрование с Arc4.

Тест оверхеда от шифрования - фетч большого кол-ва записей.
Вкл\выкл шифрование можно в конфиге (WireCrypt), или манипулируя версией клиента.
...
Рейтинг: 0 / 0
Сравнение скорости подключения в 2.5 и 3.0
    #38396542
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Провел тест полного фетча из таблицы
340930 - записей 1 поле 50 символов
Перед каждым тестом был произведён один холостой запуск чтобы заполнить кэш

Код: 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.
(srp)
План
PLAN (HORSE NATURAL) 

------ Performance info ------
Prepare time = 0ms
Execute time = 2s 527ms
Avg fetch time = 0,01 ms
Current memory = 138 344 888
Max memory = 138 404 240
Memory buffers = 8 192
Reads from disk to cache = 0
Writes from cache to disk = 0
Fetches from cache = 688 416

(Legacy)
План
PLAN (HORSE NATURAL)

------ Performance info ------
Prepare time = 0ms
Execute time = 2s 372ms
Avg fetch time = 0,01 ms
Current memory = 138 344 816
Max memory = 138 404 168
Memory buffers = 8 192
Reads from disk to cache = 0
Writes from cache to disk = 0
Fetches from cache = 688 416

hvladДумаю, там генерация и проверка сеансового ключа тормозит сильнее, чем шифрование с Arc4.

Так оно видимо и есть.
...
Рейтинг: 0 / 0
Сравнение скорости подключения в 2.5 и 3.0
    #38399396
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисИз теста видно, что подключения с использованием Srp происходит гораздо дольше, чем при использовании Legacy_Auth.У тебя и клиент, и сервер - на винде, так ?

Я вот начал линух трясти и для 1500 итераций замера скорости установки коннекта ("single attach" в терминах этого топега) соотношение времени получил поменьше, где-то в 2 раза.

Следующие данные упорядочены по графе `cnt`, по убыванию (это число замеров, попавших в каждую группу, определяемую интервалами от ms_Lo to ms_Hi, по 5 мс каждый интервал).

ФБ 2.5, установлен как SS, cache=65000:MS_LOMS_HICNTMS_MINMS_MAXMS_AVG15197661519172024664202420101465101412252932526253034130303065691686868

ФБ 3.0, запущен как SS, cache=65000:MS_LOMS_HICNTMS_MINMS_MAXMS_AVG35395763539374044555404441454914645494630341363034332529592529265054205053515559455575575791787878130134113113113123523912352352353753791375375375
Как видим, у ФБ 2.5 львиная доля коннектов устанавливалась где-то в течение 20 мс, а у ФБ 3.0 - примерно 40 мс.

Коннекты устанавливались по ТСР, в консоли линуха на ФБ-инстанс, расположенный на этом же хосте (у мну их в зоопарке три зверя: FB 2.5 CS, FB 2.5 SS, FB 3.0)

Тест основан на калибраторе , которым терзал ФБ 2.5 в прошлом году. Я его подпилил только в части реакции на обнаружение слишком долгих коннектов: сделал, чтобы он их пока игнорировал.
...
Рейтинг: 0 / 0
Сравнение скорости подключения в 2.5 и 3.0
    #38399406
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидУ тебя и клиент, и сервер - на винде, так ?

Да.

Это так же видно по ещё одной тестелке fbtest . По её результатам коннект в 3.0 медленней в ~4 раза. Жаль что более новые её версии нельзя уже скачать. Ссылки на яндексе умерли. Да и автор вроде как на неё забил.

На линухе видать генерация и проверка сеансового ключа происходит быстрее.
...
Рейтинг: 0 / 0
Сравнение скорости подключения в 2.5 и 3.0
    #38399415
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

вот результат fbtest сравнения для fb3 srp, legacy и embeded

Server:=WI-T6.3.0.30653 Firebird 3.0 Alpha 1
Insert:=8964 rec/sec
Connections:=106 conn./sec
Read:=78125 rec/sec
Indexed read:=72780 rec/sec
Indexed search:=319148 rec/sec
Join:=177935 rec/sec
Group by:=314795 rec/sec
PSQL:=408163 rec/sec
Count select:=636942 rec/sec
Query:=10526 queries/sec
Transaction:=1524 trans./sec
Sort time:=1669 msec
Parallel sort 1 threads: =1570 msec
Parallel sort 2 threads: =3035 msec
Parallel sort 3 threads: =5366 msec
Parallel sort 4 threads: =17600 msec
Parallel select 1 threads: =296 msec
Parallel select 2 threads: =331 msec
Parallel select 3 threads: =496 msec
Parallel select 4 threads: =740 msec
Update:=25529 rec/sec
Delete:=18409 rec/sec


Server:=WI-T6.3.0.30653 Firebird 3.0 Alpha 1 (Legacy_Auth)
Insert:=9384 rec/sec
Connections:=398 conn./sec
Read:=103305 rec/sec
Indexed read:=87719 rec/sec
Indexed search:=294117 rec/sec
Join:=177935 rec/sec
Group by:=314795 rec/sec
PSQL:=426742 rec/sec
Count select:=709219 rec/sec
Query:=12658 queries/sec
Transaction:=1562 trans./sec
Sort time:=1482 msec
Parallel sort 1 threads: =1409 msec
Parallel sort 2 threads: =2723 msec
Parallel sort 3 threads: =4989 msec
Parallel sort 4 threads: =14127 msec
Parallel select 1 threads: =290 msec
Parallel select 2 threads: =321 msec
Parallel select 3 threads: =493 msec
Parallel select 4 threads: =699 msec
Update:=25529 rec/sec
Delete:=18733 rec/sec

Server:=WI-T6.3.0.30653 Firebird 3.0 Alpha 1
Insert:=21012 rec/sec
Connections:=425 conn./sec
Read:=87719 rec/sec
Indexed read:=64724 rec/sec
Indexed search:=213523 rec/sec
Join:=170164 rec/sec
Group by:=872093 rec/sec
PSQL:=355450 rec/sec
Count select:=709219 rec/sec
Query:=58823 queries/sec
Transaction:=2066 trans./sec
Sort time:=1810 msec
Parallel sort 1 threads: =1778 msec
Parallel sort 2 threads: =9742 msec
Parallel sort 3 threads: =17529 msec
Parallel sort 4 threads: =37035 msec
Parallel select 1 threads: =298 msec
Parallel select 2 threads: =341 msec
Parallel select 3 threads: =533 msec
Parallel select 4 threads: =738 msec
Update:=25131 rec/sec
Delete:=14434 rec/sec


Для fb2.5 Connections:=531 conn./sec
...
Рейтинг: 0 / 0
Сравнение скорости подключения в 2.5 и 3.0
    #38399420
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

э... постой ты тройку родным клиентом проверял? А то у тебя все тесты из под клиента 2.5 обычно идут. А я то говорил прежде всего о том что коннект через srp сильно медленней
...
Рейтинг: 0 / 0
Сравнение скорости подключения в 2.5 и 3.0
    #38399481
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисты тройку родным клиентом проверялДа, к тройке лез тройкой, к 2.5 - "им же".
Завтра проверю сочетания 2.5 --> 3.0 и 3.0 --> 2.5
...
Рейтинг: 0 / 0
Сравнение скорости подключения в 2.5 и 3.0
    #38399492
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисПо её результатам коннект в 3.0 медленней в ~4 раза.Она по какому протоколу ломится, по embedded что ле ? Тогда это чисто академический интерес.

Мой "калибратор" выполняет тест так:
1) .sh-скрипт запускается на сервере, запрашивает его текущее время с точностью до миллисекунд и пишет его в текстовый файлик:
Код: plaintext
echo -n $(date +'%Y-%m-%d %H:%M:%S.%N')|cut -c1-24>connect_calibr.txt
Этот же текстовый файлик ранее был объявлен в базе connect_calibr_alias как external-таблица. Разумеется, в firebird.conf параметр ExtFileAccess установлен так, что ФБ разрешается читать и записывать в каталог, где лежит этот 'connect_calibr.txt'.
2) .sh-скрипт далее сразу же вызывает isql localhost/port: connect_calibr_alias -nod -n -i ...;
3) в скрипте, который скармливается isql, только одна команда: вызов ХП.
В этой ХП:
3.1) из external-таблицы ('connect_calibr.txt') считывается время, которое было непосредственно перед вызовом isql (см пункт "1)");
3.2) снова запрашивается текущее время сервера;
3.3) вычисляется datediff(millisecond from "3.1" to "3.2") и далее:
3.3.1) если сейчас просто собираем статистику, то значение сразу пишется в лог (сейчас идёт как раз этот режим);
3.3.2) если ждём, когда время установки коннекта превысит некий порог (например, 3000 мс), то логируем только при наступлении этого факта, а иначе - немедленный выход из ХП.

ЗЫ. Можно еще точнее мерять коннект, вызывая isql со скриптом вида:
Код: plaintext
1.
2.
3.
shell echo -n $(date +'%Y-%m-%d %H:%M:%S.%N')|cut -c1-24>connect_calibr.txt;
connect 'localhost/port:connect_calibr_alias' user 'calibrator' password '123' role 'rdb$admin';
execute procedure ... ;
quit;
- тогда затраты будут учитывать уже только время connect'а при загруженном бинарнике isql. Но это копейки, КМК.
...
Рейтинг: 0 / 0
Сравнение скорости подключения в 2.5 и 3.0
    #38399516
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Данные по 1000 итерациям, коннект клиента 2.5 к ФБ 3.0:MS_LOMS_HICNTMS_MINMS_MAXMS_AVG2529538252927202427720242230341623032301519171619181201242121123122101411313134549148484810510911051051051301341133133133Чуть похуже, чем 2.5 к 2.5, но ненамного.

Всё это были замеры single-коннекта, сервак бездействовал.
Дальше проверю под нагрузкой - и вот тут уже будет на что посмотреть.
...
Рейтинг: 0 / 0
Сравнение скорости подключения в 2.5 и 3.0
    #38400857
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидДанные по 1000 итерациям, коннект клиента 2.5 к ФБ 3.0:
Чуть похуже, чем 2.5 к 2.5, но ненамного.

Я говорю про родной клиент 3.0, тот что лезет по srp он 4 раза медленней делает коннект.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Сравнение скорости подключения в 2.5 и 3.0
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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