powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
24 сообщений из 24, страница 1 из 1
Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
    #40121411
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скачал https://www.hammerdb.com/ и сел развлекаться с DB2/NT64 11.5.6.0.
По монитору вижу запросы наподобие
Код: sql
1.
2.
select p_c_id,p_c_last,p_w_street_1,p_w_street_2,p_w_city,p_w_state,p_w_zip,p_d_street_1,p_d_street_2,p_d_city,p_d_state,p_d_zip,p_c_first,p_c_middle,p_c_street_1,p_c_street_2,p_c_city,p_c_state,p_c_zip,p_c_phone,VARCHAR_FORMAT(p_c_since, 'YYYY-MM-DD HH24:MI:SS'),p_c_credit,p_c_credit_lim,p_c_discount,p_c_balance,p_c_data
from SYSIBM.SYSDUMMY1

Поудивлялся.
Решил удостовериться, написав скрипт вручную. И получил...
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
 Database server        = DB2/NT64 11.5.6.0
 SQL authorization ID   = VVM
 Local database alias   = DB2HAMM

select p_c_id,p_c_last,p_w_street_1,p_w_street_2,p_w_city,p_w_state,p_w_zip,p_d_street_1,p_d_street_2,p_d_city,p_d_state,p_d_zip,p_c_first,p_c_middle,p_c_street_1,p_c_street_2,p_c_city,p_c_state,p_c_zip,p_c_phone,VARCHAR_FORMAT(p_c_since, 'YYYY-MM-DD HH24:MI:SS'),p_c_credit,p_c_credit_lim,p_c_discount,p_c_balance,p_c_data from SYSIBM.SYSDUMMY1
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                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
----------- ---------------- -------------------- -------------------- -------------------- -- --------- -------------------- -------------------- -------------------- -- --------- ---------------- -- -------------------- -------------------- -------------------- -- --------- ---------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- -------------- ------ -------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
          - -                -                    -                    -                    -  -         -                    -                    -                    -  -         -                -  -                    -                    -                    -  -         -                -                                                                                                                                                                                                                                                              -               -      -              - -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  1 record(s) selected.


select * from SYSIBM.SYSDUMMY1
IBMREQD
-------
Y      

  1 record(s) selected.



С другой базой всё нормально:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
 Database server        = DB2/LINUXX8664 11.5.5.0
 SQL authorization ID   = DB2INST1
 Local database alias   = MTICKPRO

select p_c_id,p_c_last,p_w_street_1,p_w_street_2,p_w_city,p_w_state,p_w_zip,p_d_street_1,p_d_street_2,p_d_city,p_d_state,p_d_zip,p_c_first,p_c_middle,p_c_street_1,p_c_street_2,p_c_city,p_c_state,p_c_zip,p_c_phone,VARCHAR_FORMAT(p_c_since, 'YYYY-MM-DD HH24:MI:SS'),p_c_credit,p_c_credit_lim,p_c_discount,p_c_balance,p_c_data from SYSIBM.SYSDUMMY1
SQL0206N  "P_C_ID" is not valid in the context where it is used.  
SQLSTATE=42703

select * from SYSIBM.SYSDUMMY1

IBMREQD
-------
Y      

  1 record(s) selected.
...
Рейтинг: 0 / 0
Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
    #40121416
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На свежесозданной базе такого нет, HammerDB что-то меняет.
...
Рейтинг: 0 / 0
Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
    #40121432
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
create or replace view vvm.sysdummy2(xxx) as values ('XXX') 
DB20000I  The SQL command completed successfully.

select * from vvm.sysdummy2
XXX
---
XXX
  1 record(s) selected.


select no_c_discount, no_c_last, no_c_credit, no_d_tax, no_w_tax, no_d_next_o_id from vvm.sysdummy2
1      2                3  4      5      6          
------ ---------------- -- ------ ------ -----------
     - -                -       -      -           -


И это происходит в результате работы HammerDB (DB2 -> TPROC-C-> Virual User -> Run), но не при помощи смены параметров DB или DBM.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select v.name, s.value ||' , '|| v.value, v.* from VVM.DBCFG v join SYSIBMADM.DBCFG s on s.name=v.name where s.value <> v.value
NAME                             2  
-------------------------------- -----------------------------------------------------------------------------------------------
loghead                          S0000033.LOG , S0000000.LOG                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           2 record(s) selected.


select v.name, s.value ||' , '|| v.value, v.* from VVM.DBMCFG v join SYSIBMADM.DBMCFG s on s.name=v.name where s.value <> v.value
NAME                             2  
-------------------------------- ------------------------------------------------------------------------------------------------
  0 record(s) selected.


(VVM.DBCFG - сохранённые данные до запуска HammerDB)
...
Рейтинг: 0 / 0
Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
    #40121480
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Victor Metelitsa,

Код: sql
1.
2.
3.
SELECT VARSCHEMA, VARNAME
FROM SYSCAT.VARIABLES
WHERE VARNAME = 'P_C_ID'


?
...
Рейтинг: 0 / 0
Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
    #40123527
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тьма таких сообщений.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
2021-12-28-02.07.54.333000+300 I8196474F786         LEVEL: Warning
PID     : 4620                 TID : 5640           PROC : db2syscs.exe
INSTANCE: DB2                  NODE : 000           DB   : DB2HAMM
APPHDL  : 0-122                APPID: 192.168.1.2.54643.211227210100
UOWID   : 136346               ACTID: 35             
AUTHID  : VVM                  HOSTNAME: DESKTOP-8UR1VB5
EDUID   : 5640                 EDUNAME: db2agent (DB2HAMM) 0
FUNCTION: DB2 UDB, buffer pool services, sqlbProcessDStack, probe:1014
MESSAGE : ZRC=0x870F0035=-2029060043=SQLO_NOTAVAIL
          "Cannot honor the conditional request"
          DIA8531C A memory access error has occurred.
DATA #1 : Page key, PD_TYPE_SQLB_PAGE_KEY, 16 bytes
  Pagekey: {pool:2;obj:12;type:0} PPNum:1855665
Такого тоже не видел.
Иногда бывает такое:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
2021-12-28-02.07.47.802000+300 E8026058F843         LEVEL: Warning
PID     : 4620                 TID : 2268           PROC : db2syscs.exe
INSTANCE: DB2                  NODE : 000           DB   : DB2HAMM
APPHDL  : 0-121                APPID: 192.168.1.2.54640.211227210059
UOWID   : 137422               ACTID: 39             
AUTHID  : VVM                  HOSTNAME: DESKTOP-8UR1VB5
EDUID   : 2268                 EDUNAME: db2agent (DB2HAMM) 0
FUNCTION: DB2 UDB, data protection services, sqlpgResSpace, probe:1660
MESSAGE : ADM1822W  The active transaction log is being held by dirty pages. 
          Database performance may be impacted.
DATA #1 : String, 25 bytes
flushLsn / newMinbuffLsn:
DATA #2 : SQLP_LSN8, PD_TYPE_SQLP_LSN8, 8 bytes
0000000022DAE9FE
DATA #3 : SQLP_LSN8, PD_TYPE_SQLP_LSN8, 8 bytes
0000000022D7F35A

Развлекаюсь с СУБД на старенькой 4-ядерной (без Hyperthreading, но с тремя SSD) машинке с 16 гигами RAM в качестве сервера.
(Сейчас) там Windows.
Autopilot Sequence 1 2 4 8 12 16 20 24.
Для DB2 пик пока достигается на 8 юзерах, дальше производительность падает.
База, транзакционные логи и место под архив транзакционных логов - на разных SSD.

Тест оставляет немало вопросов. Сперва меня вообще удивило, что у большей части таблиц нет ключей. Но там используется оптимизация.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE TABLE "CUSTOMER"  (
		  "C_ID" INTEGER NOT NULL , 
		  "C_D_ID" SMALLINT NOT NULL , 
		  "C_W_ID" INTEGER NOT NULL , 
...
		  "C_DATA" VARCHAR(500) )   
		 IN "USERSPACE1"  
		 ORGANIZE BY ROW USING KEY SEQUENCE ( 
		 "C_ID" STARTING FROM 1 ENDING AT 3000, 
		 "C_W_ID" STARTING FROM 1 ENDING AT 100, 
		 "C_D_ID" STARTING FROM 1 ENDING AT 10) 
		 ALLOW OVERFLOW; 


По мне, это в некотором смысле смахивает на жульничество (но победить других контестантов на той же машине всё равно не помогает).
Что более важно, foreign keys я не обнаружил, а по спецификации TPC-C они должны быть. Возможно, если я их сделаю, то "The active transaction log is being held by dirty pages" уйдёт (в смысле, если процессор будет занят ещё и проверкой foreign keys, то transaction log будет менее занят и ему будет больше времени на очистку.
Ещё странность
Код: sql
1.
2.
3.
4.
5.
		  "C_DISCOUNT" REAL , 
...
		  "D_TAX" REAL , 
...
		  "W_TAX" REAL , 


С проблемой выше я пока не разобрался - во-первых, много отвлекался на другие темы, и, во-вторых, хотя формально исходники hammerDb есть, разбираться в них очень тяжко.
...
Рейтинг: 0 / 0
Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
    #40123655
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
alter table DISTRICT add foreign key(D_W_ID) REFERENCES WAREHOUSE ("W_ID")
DB20000I  The SQL command completed successfully.

alter table CUSTOMER add foreign key(C_W_ID, C_D_ID) REFERENCES DISTRICT (D_W_ID, D_ID)
DB20000I  The SQL command completed successfully.

alter table HISTORY add foreign key(H_C_W_ID, H_C_D_ID, H_C_ID) REFERENCES CUSTOMER (C_W_ID, C_D_ID, C_ID)
DB20000I  The SQL command completed successfully.

alter table HISTORY add foreign key(H_W_ID, H_D_ID) REFERENCES DISTRICT (D_W_ID, D_ID)
DB20000I  The SQL command completed successfully.

alter table NEW_ORDER add foreign key(NO_W_ID, NO_D_ID, NO_O_ID) REFERENCES ORDERS (O_W_ID, O_D_ID, O_ID)
DB20000I  The SQL command completed successfully.

alter table ORDERS add foreign key(O_W_ID, O_D_ID, O_C_ID) REFERENCES CUSTOMER (C_W_ID, C_D_ID, C_ID)
DB20000I  The SQL command completed successfully.

alter table ORDER_LINE add foreign key(OL_W_ID, OL_D_ID, OL_O_ID) REFERENCES ORDERS (O_W_ID, O_D_ID, O_ID)
DB20000I  The SQL command completed successfully.

alter table ORDER_LINE add foreign key(OL_SUPPLY_W_ID, OL_I_ID) REFERENCES STOCK (S_W_ID, S_I_ID)
DB21034E  The command was processed as an SQL statement because it was not a 
valid Command Line Processor command.  During SQL processing it returned:
SQL0667N  The FOREIGN KEY "OL_SUPPLY_W_ID..." cannot be created because the 
table contains rows with foreign key values that cannot be found in the parent 
key of the parent table.  SQLSTATE=23520

alter table STOCK add foreign key(S_W_ID) REFERENCES WAREHOUSE (W_ID)
DB20000I  The SQL command completed successfully.

alter table STOCK add foreign key(S_I_ID) REFERENCES ITEM (I_ID)
DB20000I  The SQL command completed successfully.

1. Когда в таблице ORGANIZE BY ROW USING KEY SEQUENCE, foreign key другой таблицы может на это ссылаться, не нужно явным образом описывать primary или unique key (что удобно).
2. Транзакции в TPC-C построены таким образом, что сотая часть должна заканчиваться rollback'ом. Поскольку foreign keys не были заранее прописаны, инвалидные данные попали в ORDER_LINE. Но пока непонятно, будет ли hammerDB работать вообще, если я foreign keys создам до тестов.
...
Рейтинг: 0 / 0
Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
    #40123797
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На "2." в прелыдущем сообщении - да, работает.

Нашёл в Сети полезную PDF-ку - DemystifyingLoggingAndRecoveryLatest.pdf.
В частности,
DemystifyingLoggingAndRecoveryLatest– ADM1822W The active transaction log is being held by dirty
pages. Database performance may be impacted.
The rate at which the database work load is generating dirty
pages has exceeded the rate at which the page-cleaner agents are
writing dirty pages to disk. Dirty pages that have not yet been
written to disk are holding the transaction log.
– Corrective action: Decrease the value of the PAGE_AGE_TRGT_MCR and PAGE_AGE_TRGT_GCR

Имея в виду, что
DemystifyingLoggingAndRecoveryLatest
– SOFTMAX deprecated as of DB2 10.5
– SOFTMAX=0 means use new parameters
• Set by default for new databases created in DB2 10.5
• Old value maintained for upgraded databases
 PAGE_AGE_TRGT_MCR
– Target duration (in seconds) for changed pages to be kept in the local buffer
pool before being persisted to disk (or to the group buffer pool (GBP)
in pureScale)
– Applicable to both non-pureScale and pureScale environments
 PAGE_AGE_TRGT_GCR
– Target duration (in seconds) for changed pages to be kept in the GBP before
being persisted (cast out) to disk
– Applicable to pureScale environments only
...
Рейтинг: 0 / 0
Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
    #40123798
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Explanation:
The rate at which the database work load is generating dirty pages has
exceeded the rate at which the page-cleaner agents are writing dirty
pages to disk. Dirty pages that have not yet been written to disk are
holding the transaction log.
User response:
1. Reduce the database work load, if possible.
2. If this problem persists, take the following action:
* Decrease the value of the PAGE_AGE_TRGT_MCR and PAGE_AGE_TRGT_GCR
database configuration parameters
* Increase the value of the NUM_IOCLEANERS database configuration
parameter
...
Рейтинг: 0 / 0
Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
    #40123949
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinstein
Victor Metelitsa,

Код: sql
1.
2.
3.
SELECT VARSCHEMA, VARNAME
FROM SYSCAT.VARIABLES
WHERE VARNAME = 'P_C_ID'


?


А-а-а-а!!!
Я только что заметил это письмо, и даже, видя многократно
Код: plsql
1.
2.
3.
4.
5.
...
CREATE VARIABLE no_d_next_o_id INTEGER;
CREATE VARIABLE p_c_id INTEGER;
CREATE VARIABLE p_c_last VARCHAR(16);
...


не задумался.
Да, это оно.
Правда, смысл по две минуты подряд бомбардировать сервер запросами
Код: plsql
1.
2.
select p_c_id,p_c_last,p_w_street_1,p_w_street_2,...
from SYSIBM.SYSDUMMY1


всё равно не очень понятен.
...
Рейтинг: 0 / 0
Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
    #40123979
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Victor Metelitsa
Explanation:
The rate at which the database work load is generating dirty pages has
exceeded the rate at which the page-cleaner agents are writing dirty
pages to disk. Dirty pages that have not yet been written to disk are
holding the transaction log.
User response:
1. Reduce the database work load, if possible.
2. If this problem persists, take the following action:
* Decrease the value of the PAGE_AGE_TRGT_MCR and PAGE_AGE_TRGT_GCR
database configuration parameters
* Increase the value of the NUM_IOCLEANERS database configuration
parameter

Ну, в общем-то из стандартного описания предупреждения в документации и так понятно, что page cleaner'ы не успевают делать свою работу.
Заставить их шевелиться быстрее можно одним из 2-х способов, которые приводятся в описании сообщения:
- увеличить их количество (NUM_IOCLEANERS)
- заставить их работать более агрессивно (уменьшая либо SOFTMAX, которая deprecated, либо новую PAGE_AGE_TRGT_MCR - время жизни грязной страницы в памяти)
...
Рейтинг: 0 / 0
Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
    #40124052
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ADM1822W не проблема.

"Cannot honor the conditional request" - DIA8531C A memory access error has occurred. Моря таких сообщений.
Вот это меня смущает. Я подозреваю, что это может быть как-то связано с причиной, по которой не удаётся догнать контестантов.
После 8 виртуальных юзеров производительность начинает падать... Юзера эти, конечно, страшные - каждый стоит больше сотни реальных, я подозреваю.
...
Рейтинг: 0 / 0
Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
    #40124426
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переключился на Linux. "Cannot honor the conditional request" там тоже лезут, но график другой. Но, быть может, это с одной SSD-шкой появились проблемы - она стала нагружаться на 100%, чего под виндой не наблюдалось.

Стал играть с hugepages. Доигрался: поставил большой (db) параметр в database_memory и теперь к базе нельзя подключиться.

SQL1643C The database manager failed to allocate shared memory because the database manager instance memory limit has been reached.

Что самое восхитительное, чтобы параметр изменить, надо обязательно подключиться к базе, но это невозможно. Оверрайдить буферный пул, естественно, бесполезно.

Да, есть и такой (dbm) параметр - instance_memory. Но даже на максимум его ставить бесполезно.
...
Рейтинг: 0 / 0
Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
    #40124428
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
    #40124453
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Victor Metelitsa
поставил большой (db) параметр в database_memory и теперь к базе нельзя подключиться.

SQL1643C The database manager failed to allocate shared memory because the database manager instance memory limit has been reached.

Что самое восхитительное, чтобы параметр изменить, надо обязательно подключиться к базе, но это невозможно. Оверрайдить буферный пул, естественно, бесполезно.

Для изменения параметра базы надо к ней подключаться?
А что, команда ниже выдаёт какую-то ошибку на вашей базе с именем mydb ?

Код: plaintext
db2 update db cfg for  mydb  using database_memory xxx
...
Рейтинг: 0 / 0
Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
    #40124467
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я там далее написал "Упс". По синтаксису подключаться не обязательно. Но я, как часто бывает, поторопился и отправил сообщение, которое не стоило отправлять.
...
Рейтинг: 0 / 0
Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
    #40124468
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то не очень нравится мне работа с большими страницами. Ораклю как скажешь "использовать столько-то для SGA", так он и хапает при старте всё, потом делит этот кусок на ломтики по своему усмотрению. Тут же я задаю database_memory, потом смотрю на /proc/meminfo: во-первых, резервирует, но большую часть не пытается использовать (а ведь могла бы всё буферному пулу отдать, например), а, во-вторых, цифры резерва меняются со временем. Под Linux'ом это едва ли проблема, если "чужих" программ нет. Но под Windows такое поведение внушает тревогу, потому что там угрожали фрагментацией, после которой большестраничная память могла быть и не выделена в какой-то момент. А такое ли поведение под Windows - непонятно, до меня так и не дошло, куда смотреть использование больших страниц. (просто добавляю db2admin право на lock pages, dbset db2_large_mem=db, а потом не знаю, использует ли).
...
Рейтинг: 0 / 0
Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
    #40124701
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сеть всё-таки довольно сильно влияет: 7:10 сеть:локально (для одного коннекта).

Даже без сети под линухом не грузится больше двух ядер, хотя коннектов до 24; весьма активных коннектов причём. SSD нагружены не на 100%, а "так" - 85-90. Что-то мешает, но не приходит в голову, что. Вроде бы Developer был 4-мя ядрами ограничен, параметров конфигурации подходящих тоже не припомню.
...
Рейтинг: 0 / 0
Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
    #40125109
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Victor Metelitsa
"Cannot honor the conditional request" - DIA8531C A memory access error has occurred. Моря таких сообщений.
Тут надо на полное сообщение смотреть.
Это, например, может быть: IT38476: YOU MIGHT SEE LOT OF SQLBPROCESSDSTACK MESSAGES IN DB2DIAG.LOG , которая исправлена в 11.5.7.0.
...
Рейтинг: 0 / 0
Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
    #40125123
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
2022-01-05-17.43.37.463760+300 I88698E758            LEVEL: Warning
PID     : 23161                TID : 140291709331200 PROC : db2sysc 0
INSTANCE: db2inst1             NODE : 000            DB   : DB2HAMM
APPHDL  : 0-45                 APPID: *LOCAL.db2inst1.220105120506
UOWID   : 3322                 ACTID: 1
AUTHID  : DB2INST1             HOSTNAME: victim
EDUID   : 73                   EDUNAME: db2agent (DB2HAMM) 0
FUNCTION: DB2 UDB, buffer pool services, sqlbProcessDStack, probe:1014
MESSAGE : ZRC=0x870F0035=-2029060043=SQLO_NOTAVAIL
          "Cannot honor the conditional request"
          DIA8531C A memory access error has occurred.
DATA #1 : Page key, PD_TYPE_SQLB_PAGE_KEY, 16 bytes
  Pagekey: {pool:2;obj:11;type:1} PPNum:376
А в принципе, картина такая: запускаю этот самый hammerdb на той же машине (т.е., передачи по сети нет), к 8 юзерам iostat показывает нагрузку около 50% для user и ещё процентов 10-20 на system (то есть, kernel), ssd под лог и ssd под данные нагрузка не идёт выше 90 процентов. С дальнейшим ростом количества юзеров нагрузка на процессор падает и результаты падают. Во что оно могло упереться, куда смотреть - не имею ни малейшего понятия. Где бутылочное горлышко - там же должно быть 100%?
Ещё пара занятных моментов.
* С DB2_4K_DEVICE_SUPPORT=ON у меня DB2/L добилась своего рекорда в одноюзерном режиме. К четырём же юзерам результаты выровнялись.
* Под виндами у меня результаты были гораздо лучше.
...
Рейтинг: 0 / 0
Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
    #40125124
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db2diag.log на системном SSD, так что слишком частая генерация сообщений ssd с данными и ssd с транзакционными логами не грузила.
...
Рейтинг: 0 / 0
Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
    #40125125
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
latch contention = насколько я ничего не понимаю, latch'и было модно делать на spinlock'ах, т.е., ждать - не висеть на семафоре, а крутиться в цикле (и кушать CPU).
...
Рейтинг: 0 / 0
Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
    #40125139
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor Metelitsa
Где бутылочное горлышко - там же должно быть 100%?

Необязательно, конечно. В смысле, одна нить наверняка не нагрузит что-то на 100%. Хотя есть надежда, что много нитей нагрузят что-то близко к 100%, но это при условии, что нагрузка от них хаотична. Но что происходит с DB2, когда количество активных клиентов растёт, но количество транзакций в секунду падает?
Вот для 8 юзеров:
Код: 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.
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.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
Vuser 1:TEST RESULT : System achieved 39621 NOPM from 174269 Db2 TPM
Timestamp 1 @ Wed Jan 05 19:19:39 +05 2022
Vuser 1:---MONREPORT OUTPUT---
Timestamp 1 @ Wed Jan 05 19:19:39 +05 2022
Vuser 1:--------------------------------------------------------------------------------
Monitoring report - database summary
--------------------------------------------------------------------------------
Database: DB2HAMM
Generated: 01/05/2022 19:15:39
Interval monitored: 60

================================================================================
Part 1 - System performance

Work volume and throughput
--------------------------------------------------------------------------------
 Per second Total
 --------------------- -----------------------
TOTAL_APP_COMMITS 2844 170652
ACT_COMPLETED_TOTAL 39539 2372392
APP_RQSTS_COMPLETED_TOTAL 7175 430517

TOTAL_CPU_TIME = 67869530
TOTAL_CPU_TIME per request = 157

Row processing
 ROWS_READ/ROWS_RETURNED = 1 (3264440/1911887)
 ROWS_MODIFIED = 1514340

Wait times
--------------------------------------------------------------------------------

-- Wait time as a percentage of elapsed time --

 % Wait time/Total time
 --- ----------------------------------
For requests 67 317404/472343
For activities 52 155184/296981

-- Time waiting for next client request --

CLIENT_IDLE_WAIT_TIME = 83066
CLIENT_IDLE_WAIT_TIME per second = 1384

-- Detailed breakdown of TOTAL_WAIT_TIME --

 % Total
 --- ---------------------------------------------
TOTAL_WAIT_TIME 100 317404

I/O wait time
 POOL_READ_TIME 42 134454
 POOL_WRITE_TIME 5 16213
 DIRECT_READ_TIME 0 0
 DIRECT_WRITE_TIME 0 0
 LOG_DISK_WAIT_TIME 45 144643
LOCK_WAIT_TIME 5 18383
AGENT_WAIT_TIME 0 0
Network and FCM
 TCPIP_SEND_WAIT_TIME 0 0
 TCPIP_RECV_WAIT_TIME 0 0
 IPC_SEND_WAIT_TIME 0 1005
 IPC_RECV_WAIT_TIME 0 178
 FCM_SEND_WAIT_TIME 0 0
 FCM_RECV_WAIT_TIME 0 0
WLM_QUEUE_TIME_TOTAL 0 0
CF_WAIT_TIME 0 0
RECLAIM_WAIT_TIME 0 0
SMP_RECLAIM_WAIT_TIME 0 0

Component times
--------------------------------------------------------------------------------
-- Detailed breakdown of processing time --

 % Total
 ---------------- --------------------------
Total processing 100 154939

Section execution
 TOTAL_SECTION_PROC_TIME 31 49354
 TOTAL_SECTION_SORT_PROC_TIME 0 497
Compile
 TOTAL_COMPILE_PROC_TIME 0 0
 TOTAL_IMPLICIT_COMPILE_PROC_TIME 0 0
Transaction end processing
 TOTAL_COMMIT_PROC_TIME 1 2958
 TOTAL_ROLLBACK_PROC_TIME 0 0
Utilities
 TOTAL_RUNSTATS_PROC_TIME 0 0
 TOTAL_REORGS_PROC_TIME 0 0
 TOTAL_LOAD_PROC_TIME 0 0

Buffer pool
--------------------------------------------------------------------------------
Buffer pool hit ratios

Type Ratio Formula
--------------- --------------- ----------------------------------------------
Data 98 (1-(57789+0-0)/(4322646+0))
Index 99 (1-(10294+0-0)/(3992931+0))
XDA 0 (1-(0+0-0)/(0+0))
COL 0 (1-(0+0-0)/(0+0))
LBP Data 98 (4284822-19965)/(4322646+0)
LBP Index 99 (3983347-710)/(3992931+0)
LBP XDA 0 (0-0)/(0+0)
LBP COL 0 (0-0)/(0+0)
GBP Data 0 (0 - 0)/0
GBP Index 0 (0 - 0)/0
GBP XDA 0 (0 - 0)/0
GBP COL 0 (0 - 0)/0

I/O
--------------------------------------------------------------------------------
Buffer pool reads
 POOL_DATA_L_READS = 4322646
 POOL_TEMP_DATA_L_READS = 0
 POOL_DATA_P_READS = 57789
 POOL_TEMP_DATA_P_READS = 0
 POOL_ASYNC_DATA_READS = 0
 POOL_INDEX_L_READS = 3992931
 POOL_TEMP_INDEX_L_READS = 0
 POOL_INDEX_P_READS = 10294
 POOL_TEMP_INDEX_P_READS = 0
 POOL_ASYNC_INDEX_READS = 0
 POOL_XDA_L_READS = 0
 POOL_TEMP_XDA_L_READS = 0
 POOL_XDA_P_READS = 0
 POOL_TEMP_XDA_P_READS = 0
 POOL_ASYNC_XDA_READS = 0
 POOL_COL_L_READS = 0
 POOL_TEMP_COL_L_READS = 0
 POOL_COL_P_READS = 0
 POOL_ASYNC_COL_READS = 0
Buffer pool pages found
 POOL_DATA_LBP_PAGES_FOUND = 4284822
 POOL_ASYNC_DATA_LBP_PAGES_FOUND = 19965
 POOL_INDEX_LBP_PAGES_FOUND = 3983347
 POOL_ASYNC_INDEX_LBP_PAGES_FOUND = 710
 POOL_XDA_LBP_PAGES_FOUND = 0
 POOL_ASYNC_XDA_LBP_PAGES_FOUND = 0
 POOL_COL_LBP_PAGES_FOUND = 0
 POOL_ASYNC_COL_LBP_PAGES_FOUND = 0
Buffer pool writes
 POOL_DATA_WRITES = 78065
 POOL_XDA_WRITES = 0
 POOL_INDEX_WRITES = 12331
 POOL_COL_WRITES = 0
Direct I/O
 DIRECT_READS = 0
 DIRECT_READ_REQS = 0
 DIRECT_WRITES = 0
 DIRECT_WRITE_REQS = 0
Log I/O
 LOG_DISK_WAITS_TOTAL = 81401

Locking
--------------------------------------------------------------------------------
 Per activity Total
 ------------------------------ ----------------------
LOCK_WAIT_TIME 0 18383
LOCK_WAITS 0 6973
LOCK_TIMEOUTS 0 0
DEADLOCKS 0 0
LOCK_ESCALS 0 0

Routines
--------------------------------------------------------------------------------
 Per activity Total
 ------------------------ ------------------------
TOTAL_ROUTINE_INVOCATIONS 0 89496
TOTAL_ROUTINE_TIME 0 292655

TOTAL_ROUTINE_TIME per invocation = 3

Sort
--------------------------------------------------------------------------------
TOTAL_SORTS = 3956
SORT_OVERFLOWS = 0
POST_THRESHOLD_SORTS = 0
POST_SHRTHRESHOLD_SORTS = 0

Network
--------------------------------------------------------------------------------
Communications with remote clients
TCPIP_SEND_VOLUME per send = 0 (0/0)
TCPIP_RECV_VOLUME per receive = 0 (0/0)

Communications with local clients
IPC_SEND_VOLUME per send = 187 (65422047/349055)
IPC_RECV_VOLUME per receive = 113 (39694879/349055)

Fast communications manager
FCM_SEND_VOLUME per send = 0 (0/0)
FCM_RECV_VOLUME per receive = 0 (0/0)

Other
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Compilation
 TOTAL_COMPILATIONS = 0
 PKG_CACHE_INSERTS = 0
 PKG_CACHE_LOOKUPS = 923621
Catalog cache
 CAT_CACHE_INSERTS = 0
 CAT_CACHE_LOOKUPS = 86
Transaction processing
 TOTAL_APP_COMMITS = 170652
 INT_COMMITS = 2
 TOTAL_APP_ROLLBACKS = 2
 INT_ROLLBACKS = 2
Log buffer
 NUM_LOG_BUFFER_FULL = 0
Activities aborted/rejected
 ACT_ABORTED_TOTAL = 0
 ACT_REJECTED_TOTAL = 0
Workload management controls
 WLM_QUEUE_ASSIGNMENTS_TOTAL = 0
 WLM_QUEUE_TIME_TOTAL = 0

DB2 utility operations
--------------------------------------------------------------------------------
 TOTAL_RUNSTATS = 0
 TOTAL_REORGS = 0
 TOTAL_LOADS = 0

================================================================================
Part 2 - Application performance drill down

Application performance database-wide
--------------------------------------------------------------------------------
TOTAL_CPU_TIME TOTAL_ TOTAL_APP_ ROWS_READ +
per request WAIT_TIME % COMMITS ROWS_MODIFIED
---------------------- ----------- ------------- ----------------------------
157 67 170652 4778780

Application performance by connection
--------------------------------------------------------------------------------
APPLICATION_ TOTAL_CPU_TIME TOTAL_ TOTAL_APP_ ROWS_READ +
HANDLE per request WAIT_TIME % COMMITS ROWS_MODIFIED
------------- ------------------- ----------- ------------- -------------
126 0 0 0 0
567 4223 0 0 0
568 280 77 19706 545978
569 230 74 24400 703434
570 256 76 20898 595085
571 249 76 20824 570877
572 260 78 18788 524583
573 240 73 22982 648964
574 250 74 22729 622078
575 260 76 20324 567394

Application performance by service class
--------------------------------------------------------------------------------
SERVICE_ TOTAL_CPU_TIME TOTAL_ TOTAL_APP_ ROWS_READ +
CLASS_ID per request WAIT_TIME % COMMITS ROWS_MODIFIED
-------- ------------------- ----------- ------------- -------------
4 0 0 0 0
11 0 0 0 0
12 150 0 0 0
13 157 66 170654 4778446

Application performance by workload
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
WORKLOAD_ TOTAL_CPU_TIME TOTAL_ TOTAL_APP_ ROWS_READ +
NAME per request WAIT_TIME % COMMITS ROWS_MODIFIED
------------- ---------------------- ----------- ------------- -------------
SYSDEFAULTADM 0 0 0 0
SYSDEFAULTUSE 252 66 170657 4778446

================================================================================
Part 3 - Member level information

- I/O wait time is
 (POOL_READ_TIME + POOL_WRITE_TIME + DIRECT_READ_TIME + DIRECT_WRITE_TIME).

 TOTAL_CPU_TIME TOTAL_ RQSTS_COMPLETED_ I/O
MEMBER per request WAIT_TIME % TOTAL wait time
------ ---------------------- ----------- ---------------- -----------------
0 157 66 430529 134455


Вот для 24-х:
Код: 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.
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.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
Vuser 1:TEST RESULT : System achieved 25314 NOPM from 111411 Db2 TPM
Timestamp 1 @ Wed Jan 05 19:52:12 +05 2022
Vuser 1:---MONREPORT OUTPUT---
Timestamp 1 @ Wed Jan 05 19:52:12 +05 2022
Vuser 1:--------------------------------------------------------------------------------
Monitoring report - database summary
--------------------------------------------------------------------------------
Database: DB2HAMM
Generated: 01/05/2022 19:48:11
Interval monitored: 60

================================================================================
Part 1 - System performance

Work volume and throughput
--------------------------------------------------------------------------------
 Per second Total
 --------------------- -----------------------
TOTAL_APP_COMMITS 1190 71437
ACT_COMPLETED_TOTAL 16621 997297
APP_RQSTS_COMPLETED_TOTAL 3004 180288

TOTAL_CPU_TIME = 48788683
TOTAL_CPU_TIME per request = 270

Row processing
 ROWS_READ/ROWS_RETURNED = 1 (1383622/803111)
 ROWS_MODIFIED = 645678

Wait times
--------------------------------------------------------------------------------

-- Wait time as a percentage of elapsed time --

 % Wait time/Total time
 --- ----------------------------------
For requests 92 1244121/1351911
For activities 90 983545/1084529

-- Time waiting for next client request --

CLIENT_IDLE_WAIT_TIME = 148675
CLIENT_IDLE_WAIT_TIME per second = 2477

-- Detailed breakdown of TOTAL_WAIT_TIME --

 % Total
 --- ---------------------------------------------
TOTAL_WAIT_TIME 100 1244121

I/O wait time
 POOL_READ_TIME 70 875727
 POOL_WRITE_TIME 0 0
 DIRECT_READ_TIME 0 2
 DIRECT_WRITE_TIME 0 1
 LOG_DISK_WAIT_TIME 20 258314
LOCK_WAIT_TIME 5 74555
AGENT_WAIT_TIME 0 0
Network and FCM
 TCPIP_SEND_WAIT_TIME 0 0
 TCPIP_RECV_WAIT_TIME 0 0
 IPC_SEND_WAIT_TIME 0 488
 IPC_RECV_WAIT_TIME 0 91
 FCM_SEND_WAIT_TIME 0 0
 FCM_RECV_WAIT_TIME 0 0
WLM_QUEUE_TIME_TOTAL 0 0
CF_WAIT_TIME 0 0
RECLAIM_WAIT_TIME 0 0
SMP_RECLAIM_WAIT_TIME 0 0

Component times
--------------------------------------------------------------------------------
-- Detailed breakdown of processing time --

 % Total
 ---------------- --------------------------
Total processing 100 107790

Section execution
 TOTAL_SECTION_PROC_TIME 24 26824
 TOTAL_SECTION_SORT_PROC_TIME 0 231
Compile
 TOTAL_COMPILE_PROC_TIME 0 0
 TOTAL_IMPLICIT_COMPILE_PROC_TIME 0 0
Transaction end processing
 TOTAL_COMMIT_PROC_TIME 1 2154
 TOTAL_ROLLBACK_PROC_TIME 0 0
Utilities
 TOTAL_RUNSTATS_PROC_TIME 0 12
 TOTAL_REORGS_PROC_TIME 0 0
 TOTAL_LOAD_PROC_TIME 0 0

Buffer pool
--------------------------------------------------------------------------------
Buffer pool hit ratios

Type Ratio Formula
--------------- --------------- ----------------------------------------------
Data 98 (1-(27535+0-0)/(1844709+0))
Index 99 (1-(2124+0-0)/(2448135+0))
XDA 0 (1-(0+0-0)/(0+0))
COL 0 (1-(0+0-0)/(0+0))
LBP Data 98 (1824177-7003)/(1844709+0)
LBP Index 99 (2446475-464)/(2448135+0)
LBP XDA 0 (0-0)/(0+0)
LBP COL 0 (0-0)/(0+0)
GBP Data 0 (0 - 0)/0
GBP Index 0 (0 - 0)/0
GBP XDA 0 (0 - 0)/0
GBP COL 0 (0 - 0)/0

I/O
--------------------------------------------------------------------------------
Buffer pool reads
 POOL_DATA_L_READS = 1844709
 POOL_TEMP_DATA_L_READS = 0
 POOL_DATA_P_READS = 27535
 POOL_TEMP_DATA_P_READS = 0
 POOL_ASYNC_DATA_READS = 0
 POOL_INDEX_L_READS = 2448135
 POOL_TEMP_INDEX_L_READS = 0
 POOL_INDEX_P_READS = 2124
 POOL_TEMP_INDEX_P_READS = 0
 POOL_ASYNC_INDEX_READS = 0
 POOL_XDA_L_READS = 0
 POOL_TEMP_XDA_L_READS = 0
 POOL_XDA_P_READS = 0
 POOL_TEMP_XDA_P_READS = 0
 POOL_ASYNC_XDA_READS = 0
 POOL_COL_L_READS = 0
 POOL_TEMP_COL_L_READS = 0
 POOL_COL_P_READS = 0

 POOL_TEMP_COL_P_READS = 0
 POOL_ASYNC_COL_READS = 0
Buffer pool pages found
 POOL_DATA_LBP_PAGES_FOUND = 1824177
 POOL_ASYNC_DATA_LBP_PAGES_FOUND = 7003
 POOL_INDEX_LBP_PAGES_FOUND = 2446475
 POOL_ASYNC_INDEX_LBP_PAGES_FOUND = 464
 POOL_XDA_LBP_PAGES_FOUND = 0
 POOL_ASYNC_XDA_LBP_PAGES_FOUND = 0
 POOL_COL_LBP_PAGES_FOUND = 0
 POOL_ASYNC_COL_LBP_PAGES_FOUND = 0
Buffer pool writes
 POOL_DATA_WRITES = 133133
 POOL_XDA_WRITES = 0
 POOL_INDEX_WRITES = 11796
 POOL_COL_WRITES = 0
Direct I/O
 DIRECT_READS = 32
 DIRECT_READ_REQS = 2
 DIRECT_WRITES = 30
 DIRECT_WRITE_REQS = 1
Log I/O
 LOG_DISK_WAITS_TOTAL = 34113

Locking
--------------------------------------------------------------------------------
 Per activity Total
 ------------------------------ ----------------------
LOCK_WAIT_TIME 0 74555
LOCK_WAITS 0 3047
LOCK_TIMEOUTS 0 0
DEADLOCKS 0 0
LOCK_ESCALS 0 0

Routines
--------------------------------------------------------------------------------
 Per activity Total
 ------------------------ ------------------------
TOTAL_ROUTINE_INVOCATIONS 0 37693
TOTAL_ROUTINE_TIME 1 1082578

TOTAL_ROUTINE_TIME per invocation = 28

Sort
--------------------------------------------------------------------------------
TOTAL_SORTS = 1656
SORT_OVERFLOWS = 0
POST_THRESHOLD_SORTS = 0
POST_SHRTHRESHOLD_SORTS = 0

Network
--------------------------------------------------------------------------------
Communications with remote clients
TCPIP_SEND_VOLUME per send = 0 (0/0)
TCPIP_RECV_VOLUME per receive = 0 (0/0)

Communications with local clients
IPC_SEND_VOLUME per send = 188 (27595976/146203)
IPC_RECV_VOLUME per receive = 114 (16740009/146203)

Fast communications manager
FCM_SEND_VOLUME per send = 0 (0/0)
FCM_RECV_VOLUME per receive = 0 (0/0)

Other
--------------------------------------------------------------------------------
Compilation
 TOTAL_COMPILATIONS = 1
 PKG_CACHE_INSERTS = 0
 PKG_CACHE_LOOKUPS = 386742
Catalog cache
 CAT_CACHE_INSERTS = 0
 CAT_CACHE_LOOKUPS = 286
Transaction processing
 TOTAL_APP_COMMITS = 71437
 INT_COMMITS = 5
 TOTAL_APP_ROLLBACKS = 5
 INT_ROLLBACKS = 5
Log buffer
 NUM_LOG_BUFFER_FULL = 0
Activities aborted/rejected
 ACT_ABORTED_TOTAL = 0
 ACT_REJECTED_TOTAL = 0
Workload management controls
 WLM_QUEUE_ASSIGNMENTS_TOTAL = 0
 WLM_QUEUE_TIME_TOTAL = 0

DB2 utility operations
--------------------------------------------------------------------------------
 TOTAL_RUNSTATS = 1
 TOTAL_REORGS = 0
 TOTAL_LOADS = 0

================================================================================
Part 2 - Application performance drill down

Application performance database-wide
--------------------------------------------------------------------------------
TOTAL_CPU_TIME TOTAL_ TOTAL_APP_ ROWS_READ +
per request WAIT_TIME % COMMITS ROWS_MODIFIED
---------------------- ----------- ------------- ----------------------------
270 92 71437 2029300

Application performance by connection
--------------------------------------------------------------------------------
APPLICATION_ TOTAL_CPU_TIME TOTAL_ TOTAL_APP_ ROWS_READ +
HANDLE per request WAIT_TIME % COMMITS ROWS_MODIFIED
------------- ------------------- ----------- ------------- -------------
126 0 0 0 0
687 4402 0 0 0
688 427 95 3407 96013
689 667 97 1945 56708
690 458 96 2892 77521
691 507 97 1998 66468
692 539 95 3170 93151
693 491 95 3692 105425
694 537 96 2605 71433
695 455 95 3783 106303
696 397 92 6010 171430
697 532 97 2301 69956
698 469 95 3283 93940
699 580 95 3109 87721
700 539 96 2577 67524
701 563 97 1936 51892
702 606 96 2732 77491
703 575 95 3294 93939
704 536 97 2145 69614
705 605 97 2172 62882
706 556 96 2914 78766
707 501 96 3151 90877
708 549 96 2849 76695
709 491 94 4508 126111
710 557 96 2934 79326
711 552 97 2018 56101

Application performance by service class
--------------------------------------------------------------------------------
SERVICE_ TOTAL_CPU_TIME TOTAL_ TOTAL_APP_ ROWS_READ +
CLASS_ID per request WAIT_TIME % COMMITS ROWS_MODIFIED
-------- ------------------- ----------- ------------- -------------
4 0 0 0 0
11 0 0 0 0
12 308 14 13 2013
13 270 92 71427 2027287

Application performance by workload
--------------------------------------------------------------------------------
WORKLOAD_ TOTAL_CPU_TIME TOTAL_ TOTAL_APP_ ROWS_READ +
NAME per request WAIT_TIME % COMMITS ROWS_MODIFIED
------------- ---------------------- ----------- ------------- -------------
SYSDEFAULTADM 0 0 0 0
SYSDEFAULTUSE 517 92 71427 2027287

================================================================================
Part 3 - Member level information

- I/O wait time is
 (POOL_READ_TIME + POOL_WRITE_TIME + DIRECT_READ_TIME + DIRECT_WRITE_TIME).

 TOTAL_CPU_TIME TOTAL_ RQSTS_COMPLETED_ I/O
MEMBER per request WAIT_TIME % TOTAL wait time
------ ---------------------- ----------- ---------------- -----------------
0 270 92 180296 875657
...
Рейтинг: 0 / 0
Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
    #40125218
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
11.5.7 (фикспак с пробной лицензией) = сообщений "Cannot honor the conditional request" нет, но и принципиальной разницы нет.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
01/08/2022 04:50:27 PM
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          13.33    0.00   47.97    2.51    0.00   36.19

Device            r/s     w/s     rMB/s     wMB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
sdc              0.10    0.70      0.00      0.01     0.00     0.10   0.00  12.50    1.00    1.29   0.00     4.00    12.21   1.50   0.12
sda              0.40  739.90      0.00      2.69     0.00     0.00   0.00   0.00    0.00    0.25   0.03     8.00     3.72   0.39  28.95
sdb            362.80 3990.40      1.42      8.55     0.00   139.20   0.00   3.37    0.71    0.93   2.49     4.00     2.19   0.08  36.57
ну что за нагрузка от 20 юзеров?
%system, правда, уж очень большой.
...
Рейтинг: 0 / 0
Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
    #40129378
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я стал делать свой вариант HammerDB (Java, многонитевый JDBC), и он даже как-то работает и делает то, что я от него хотел, хотя едва ли годится для того, чтобы предоставить широкой публике. Но теперь я понял, что нужны "микро"-бенчмарки. Нагрузка a-la TPC-C смешанная, но для лучшего понимания происходящего нужно раздельно исследовать вещи (к примеру, только вставки или только рандомные апдейты).

По дороге я заметил любопытную вещь:

Код: plsql
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.
CREATE TABLE "CUSTOMER"  (
		  "C_ID" INTEGER NOT NULL , 
		  "C_D_ID" SMALLINT NOT NULL , 
		  "C_W_ID" INTEGER NOT NULL , 
		  "C_FIRST" VARCHAR(16) , 
		  "C_MIDDLE" CHAR(2) , 
		  "C_LAST" VARCHAR(16) , 
		  "C_STREET_1" VARCHAR(20) , 
		  "C_STREET_2" VARCHAR(20) , 
		  "C_CITY" VARCHAR(20) , 
		  "C_STATE" CHAR(2) , 
		  "C_ZIP" CHAR(9) , 
		  "C_PHONE" CHAR(16) , 
		  "C_SINCE" TIMESTAMP , 
		  "C_CREDIT" CHAR(2) , 
		  "C_CREDIT_LIM" DECIMAL(12,2) , 
		  "C_DISCOUNT" decimal(4,4) , 
		  "C_BALANCE" DECIMAL(12,2) , 
		  "C_YTD_PAYMENT" DECIMAL(12,2) , 
		  "C_PAYMENT_CNT" DECIMAL(8,0) , 
		  "C_DELIVERY_CNT" INTEGER , 
		  "C_DATA" VARCHAR(500)    ,
                 constraint "CUSTOMER_PK" primary key (C_ID, C_W_ID, C_D_ID)
) 		 IN "USERSPACE1"  
;
--		 ORGANIZE BY ROW USING KEY SEQUENCE ( 
--		 "C_ID" STARTING FROM 1 ENDING AT 3000, 
--		 "C_W_ID" STARTING FROM 1 ENDING AT 100, 
--		 "C_D_ID" STARTING FROM 1 ENDING AT 10) 
--		 ALLOW OVERFLOW;


У HammerDB в варианте для DB2 многие таблицы созданы с ORGANIZE BY ROW USING KEY SEQUENCE. Если вспомнить, как это устроено, то да, с моей точки зрения это смахивает на жульничество. Хотя условия теста TPC-C и позволяют, но в реальной базе вы очень редко знаете, сколько строк будет в таблице. Кроме того, архивация логов должна быть включена, mincommit = 1, внешние ключи на месте, никаких real вместо decimal(4,4) и т.д.

Так вот, "нормальный" вариант (без USING KEY SEQUENCE) у меня оказался заметно быстрее. На одном юзере чуть быстрее, на 24 где-то 7:5 (по количеству выполненых транзакций).
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Такого я ещё не видел (SYSIBM.SYSDUMMY1, DB2/NT64 11.5.6.0, DB2/LINUXX8664 11.5.5.0)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (2): Анонимы (1), Yandex Bot 7 мин.
Пользователи онлайн (7): Анонимы (5), Bing Bot, Yandex Bot
x
x
Закрыть


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