Thank you all for your helpful reply. I am absolutely rapt.
First I create a bunch of dbspaces and move the llog und plog in separate dbspaces. Then i create a datadbs where i put my table in and where i am query from. As i am on Linux the default pagesize is 2K, i read in the informix dokumentation and a biger pagesize may lead in performance increase, so i tryed to create the datadbs in 4K and even 8K page size. So thats why there are several Buffer entrys in the onconfig and i comment the old ones out.
The performance is a little bit better with the pagesize of 8K on the Ubuntu Server. Thats why i did not change it back then.
I run my performance benchmarks on an Windows 10 PC with an ODBC connection to both Servers. I wrote some querys in MS Access and measure the time it takes to complete it. And it did not mater which query i am running the performance is always a little bit better on the old Windows Server. The difference is always about 10- 30% worse.
This is the first time i installing and configuring informix and i am not sure if i did everything right. I read a lot and watched the great videos from Lester Knutsen on his Homepage. That helped me a lot.
I now added the DBSPACETEMP entry in the onconfig.
After importing the data i make an UPDATE STATISTICS this are the commands from the scripts:
dbimport -c -i /home/informix/backups/srv11 -d datadbs KMT
cat <<EOF > /opt/scripts/lockmodegtg.sql
DATABASE gtg;
output to /opt/scripts/altermodegtg.sql
without headings select "alter table", tabname, " lock mode (row);" from systables where
tabid between 100 and 999999999 and tabtype = "T";
EOF
dbaccess - /opt/scripts/lockmodegtg.sql
rm /opt/scripts/lockmodegtg.sql
dbaccess gtg /opt/scripts/altermodegtg.sql
rm /opt/scripts/altermodegtg.sql
cat <<EOF > /opt/scripts/updategtg.sql
DATABASE gtg;
UPDATE STATISTICS;
CLOSE DATABASE;
EOF
dbaccess - /opt/scripts/updategtg.sql
rm /opt/scripts/updategtg.sql
I am using cooked files and a EXT4 filesystem with LVM and i did not disable Filesystemjournaling. Because on the Windows Server its the same, but on NTFS. And i am also not sure if that makes any difference in reading performance?
So now i try to performe the test you write me first on the Windows Server.
onstat -z
wait 2 seconds
run query on MS Access = 7,46s
wait 2 seconds
onstat -p
C:\Users\admin>onstat -z
IBM Informix Dynamic Server Version 12.10.FC5IE -- On-Line -- Up 9 days 23:21:20 -- 185088 Kbytes
C:\Users\admin>onstat -p
IBM Informix Dynamic Server Version 12.10.FC5IE -- On-Line -- Up 9 days 23:21:37 -- 185088 Kbytes
Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
0 146420 42 100.00 0 0 0 0.00
isamtot open start read write rewrite delete commit rollbk
51 0 1 24 0 0 0 0 0
gp_read gp_write gp_rewrt gp_del gp_alloc gp_free gp_curs
0 0 0 0 0 0 0
ovlock ovuserthread ovbuff usercpu syscpu numckpts flushes
0 0 0 0.00 0.00 0 0
bufwaits lokwaits lockreqs deadlks dltouts ckpwaits compress seqscans
0 0 0 0 0 0 0 1
ixda-RA idx-RA da-RA logrec-RA RA-pgsused lchwaits
0 0 0 0 0 0
C:\Users\admin>
C:\Users\admin>onstat -g iov
IBM Informix Dynamic Server Version 12.10.FC5IE -- On-Line -- Up 9 days 23:35:13 -- 185088 Kbytes
AIO I/O vps:
class/vp/id s io/s totalops dskread dskwrite dskcopy wakeups io/wup errors tempops
fifo 7 0 i 0.0 0 0 0 0 0 0.0 0 0
kio -1 0 i 136.8 113833 113827 6 0 6728789 0.0 0 0
msc 6 0 i 0.0 0 0 0 0 0 0.0 0 220
aio 5 0 i 0.0 0 0 0 0 0 0.0 0 0
pio 4 0 i 0.0 0 0 0 0 0 0.0 0 0
lio 3 0 i 0.0 0 0 0 0 0 0.0 0 0
C:\Users\admin>
The Same now on Ubuntu:
onstat -z
wait 2 seconds
run query on MS Access = 7,87s
wait 2 seconds
onstat -p
informix@srv36:/opt/scripts$ onstat -z
IBM Informix Dynamic Server Version 14.10.FC5IE -- On-Line -- Up 00:19:46 -- 4217868 Kbytes
2021-04-30 08:00:59
informix@srv36:/opt/scripts$ onstat -p
IBM Informix Dynamic Server Version 14.10.FC5IE -- On-Line -- Up 00:20:11 -- 4217868 Kbytes
2021-04-30 08:01:24
Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
33532 139620 2040210 98.36 2 386 1408 99.86
isamtot open start read write rewrite delete commit rollbk
2706002 247090 175937 576483 406 16 253 37 0
gp_read gp_write gp_rewrt gp_del gp_alloc gp_free gp_curs
0 0 0 0 0 0 0
ovlock ovuserthread ovbuff usercpu syscpu numckpts flushes
0 0 0 6.73 0.31 0 0
bufwaits lokwaits lockreqs deadlks dltouts ckpwaits compress seqscans
360 0 1237131 0 0 0 11 7
ixda-RA idx-RA da-RA logrec-RA RA-pgsused lchwaits
86476 1473 1225 0 24031 778
On-Line -- Up 00:24:22 -- 4217868 Kbytes
2021-04-30 08:05:35
informix@srv36:/opt/scripts$ onstat -g iov
IBM Informix Dynamic Server Version 14.10.FC5IE -- On-Line -- Up 00:24:22 -- 4217868 Kbytes
2021-04-30 08:05:35
AIO I/O vps:
class/vp/id s io/s totalops dskread dskwrite dskcopy wakeups io/wup errors tempops
fifo 7 0 i 0.0 0 0 0 0 0 0.0 0 0
msc 6 0 i 0.0 0 0 0 0 0 0.0 0 9
aio 5 0 i 58.7 16214 16115 43 0 10218 1.6 0 66
aio 11 1 i 19.9 5491 5463 28 0 1149 4.8 0 0
aio 12 2 i 5.5 1524 1495 29 0 1038 1.5 0 0
aio 13 3 i 5.5 1527 1498 29 0 981 1.6 0 0
aio 14 4 i 5.0 1380 1355 25 0 936 1.5 0 0
pio 4 0 i 0.0 4 0 4 0 4 1.0 0 16
lio 3 0 i 0.0 3 0 3 0 3 1.0 0 71
On the second run the Windwos Server took 6,42s
On the second run the Linux Server took 7,35s
Thank you very much.
------------------------------
M D
------------------------------
Original Message:
Sent: Thu April 29, 2021 01:08 PM
From: Art Kagel
Subject: Performance of 14.10.FC5 is worse compared to 12.10 is that possible?
Just noticed the attached ONCONFIG files. I agree with other commenters. The missing DBSPACETEMP may be a problem depending on the query. If you have a temp dbspace you should set DBSPACETEMP and if you do not, you should create one and set it.
There is no 4K dbspace, so is the data on 2K or8K pages? Either way, the tables will perform either better or worse on 2K or 8K than they do on 4K depending on the nature of the test query/queries.
------------------------------
Art S. Kagel, President and Principal Consultant
ASK Database Management Corp.
www.askdbmgt.com
Original Message:
Sent: Thu April 29, 2021 12:42 PM
From: Andreas Legner
Subject: Performance of 14.10.FC5 is worse compared to 12.10 is that possible?
Sounding interesting, indeed, and you shouldn't have waited weeks before raising this, and have raised a support case ... which we'd then possibly be able to work even in local language ;-)
Windows:
BUFFERPOOL size=4k,memory=500MB
VPCLASS cpu,num=1,noage
Linux:
BUFFERPOOL size=2k,buffers=500000,lrus=8,lru_min_dirty=50,lru_max_dirty=60
BUFFERPOOL size=8K,buffers=250000,lrus=8,lru_min_dirty=50,lru_max_dirty=60
VPCLASS cpu,num=2,noage
So the Linux one even seems to be better equipped in terms of resources configured - if that even matters to your problem.
What's missing on Linux side is a DBSPACETEMP configuration, at least from onconfig's perspective.
Beyond that, we'd really have a lot more details on the test query (only this one having this problem?) and its runtime behavior.
BR,
Andreas
------------------------------
Andreas Legner
Original Message:
Sent: Thu April 29, 2021 03:23 AM
From: M D
Subject: Performance of 14.10.FC5 is worse compared to 12.10 is that possible?
Hi erveryone, i try to migrate from an Windows Server 2016 Informix 12.10 installation to an Ubuntu 20.04 LTS with Informix 14.10.FC5.
Both servers run in an virtual machine on the same host. Both servers have configured 2 cores, the older Windows Server has only 3GB of RAM.
The Ubuntu Server has 8GB of RAM. Both of the Servers use the innovator-C edition license.
I was able to finde out how to use dbexport an dpimport to get the data from one server to the other, so i managed to test both servers with the exact same data.
I tryed a lot of onconfig changes buth the result was always the same. The older Windows with 12.10 is faster. Always. I have an test query that is relativly complex. The Windows machine takes for this query on the first run 6.2s and on the second run 5.2s on the Ubuntu with 14.10.FC5 the first run took 7.3s and the second 7.2s.
I played al lot with the settings and tryed to configure the Ubuntu onconfig the same as on the Windows. But the results stay the same or getting even worse. At the beginning the query took about 14s on the Ubuntu. So the best result i am able to produce are the 7.3s on the first run.
The test query is an read only sql.
How can this be? Are there people having the same problem? What can i try?
Maybe if someone can take a look at the onconfig files and tell me what i did wrong?
After weeks of trying i am close to giving up and let the 12.10 keep running on.
Thank everybody for help or an hint.
Kind regards
------------------------------
M D
------------------------------
#Informix