Schlagwort: linux

Swingbench Analysis: Power versus Intel

We aim to answer the question: How many Intel CPUs are needed to match the performance of my current Power CPUs while considering Oracle licensing implications?

Previously, there were issues capturing CPU and IO metrics in Swingbench using vmstat on AIX. After discussing with the developer, a fix is on the horizon. We had the opportunity to test this fix, and we are thrilled. The need for SSH connect to synchronize OS statistics on Swingbench is eliminated.

CPU Settings Preparation:
This is essential to prevent automatic scaling.

A. IBM POWER LPAR Configuration

  1. Please use CAPT LPAR to ensure that no additional resources can be activated.
  2. SMT – please activate (8 Threads)

B. Intel Platform Configuration

  1. Activate Hyper-Threading (2 Threads)


CORE Scenario 1:
Purpose for Scenario 1: What’s the actual value of a thread?
AIX with 2 Cores (equivalent to 16 Threads)
INTEL with 8 Cores (equivalent to 16 Threads)

CORE Scenario 2:
Purpose for Scenario 2: Conversion of core performance (license relevant)
Equal number of Cores on AIX and INTEL


Comparison Table:

An Excel comparison table between AIX and Linux concerning
„Transactions Per Minute“ (TPM) for different numbers of active users (4, 8, 16, 32, 64) is provided to set the utilization in relation.

Calculating the relation between AIX and INTEL using the TPM values:

Efficiency calculation of the systems (average value from all test runs SH/OE separated):

Efficiency ratio calculation:

The performance ratio we have calculated can serve as a rough indicator for how many Intel CPUs are required to match the performance of an AIX POWER CPU.

Testing Runs to be recorded:
Tip: Oracle Software should be the same Release at minimum, better with the same Patchlevel.

During each test, the CPU performance should not exceed 80%!

We use the Sales History Schema which is provided from swingbench, but we only install a little dataset approx 100MB.

We load the config and start the test every 5 min with different active user#.

Sales History SETTINGS (DEFAULT) every 5 min with 4,8,16,32,64 Users

We call it: MEMORY ONLY QUERY TEST

CORE Scenario 1:
SH Test run 1-6:
AIX 13:00-13:30
LINUX 13:30-14:00

CORE Scenario 2:
SH Test run 6-12:
AIX 14:00-14:30
LINUX 14:30-15:00

works fine ..

To get another Memory Only Szenario we repeat it with a Small SalesOrderEntry (SOE) Schema. OE Settings (without DML) every 5 min with 4,8,16,32,64 Users

Settiongs SOEV2

CORE Scenario 1:
SOE_V2 Test run 1-6:
AIX 15:00-15:30
LINUX 15:30-16:00

CORE Scenario 2:
SOE_V2 Test run 1-6:
AIX 16:00-16:30
LINUX 16:30-17:00

Now we enter the results in our given EXCEL Sheet to see a good Comparsion:

Our Customer is now Happy!

Feel free to contact us!

Oracle DB+Client >= version 19.14 and TLS 1.2 (No Clientside Wallet needed!)

Sometimes good is here 19.20 Windows Patch

Patchinfos

One of the challenges faced by database administrators and developers is ensuring secure communication between the database client and the server. Oracle’s Advanced Networking Option (ANO) provides robust security features, including the ability to encrypt connections. Here’s a guide based on a tested configuration to set up SSL using Oracle’s tools.

Prerequisites:

  • Ensure you have Oracle Client Version 19.14 or higher, as this configuration doesn’t require a wallet on the client side.
  • This setup is referenced from Oracle’s documentation Doc. 2889040.1.

Setup Steps:

1. On the Server Side:

a. Create the CA/ROOT certificate:

orapki wallet create -wallet /app_oracle/admin/network/sslroot -pwd longpwd
orapki wallet add -wallet /app_oracle/admin/network/sslroot -dn C=US,CN=ROOT -keysize 1024 -self_signed -validity 3650 -pwd longpwd
orapki wallet export -wallet /app_oracle/admin/network/sslroot -dn C=US,CN=ROOT -cert /app_oracle/admin/network/sslroot/cacertificate.txt -pwd longpwd

b. Create the SERVER certificate:

orapki wallet create -wallet /app_oracle/admin/network/sslserver -auto_login -pwd longpwd
orapki wallet add -wallet /app_oracle/admin/network/sslserver -dn C=US,O=org,CN=serverhostname.com -keysize 1024 -pwd longpwd
orapki wallet export -wallet /app_oracle/admin/network/sslserver -dn C=US,O=org,CN=serverhostname.com -request /app_oracle/admin/network/sslserver/creq.txt -pwd longpwd
orapki cert create -wallet /app_oracle/admin/network/sslroot -request /app_oracle/admin/network/sslserver/creq.txt -cert /app_oracle/admin/network/sslserver/cert.txt -validity 3650 -pwd longpwd
orapki wallet add -wallet /app_oracle/admin/network/sslserver -trusted_cert -cert /app_oracle/admin/network/sslroot/cacertificate.txt -pwd longpwd
orapki wallet add -wallet /app_oracle/admin/network/sslserver -user_cert -cert /app_oracle/admin/network/sslserver/cert.txt -pwd longpwd

c. Configuration on the Server:

In listener.ora:

# added 2484 as tcps
SSL_CLIENT_AUTHENTICATION = FALSE

WALLET_LOCATION=
 (SOURCE=
  (METHOD=FILE)
   (METHOD_DATA=
    (DIRECTORY=/app_oracle/admin/network/sslserver/)))

C10P1 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = serverhostname.com)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCPS)(HOST = serverhostname.com)(PORT = 2484))
    )
  )

In sqlnet.ora:

# FOR TLS Encryption

SQLNET.AUTHENTICATION_SERVICES = (TCPS,NTS,BEQ)
SSL_CLIENT_AUTHENTICATION = FALSE

WALLET_LOCATION = (SOURCE =
  (METHOD = FILE)
  (METHOD_DATA = (DIRECTORY = /app_oracle/admin/network/sslserver/)))

# for Oracle NATIVE ENCRYPTION:
SQLNET.ENCRYPTION_SERVER = REQUIRED
SQLNET.ENCRYPTION_TYPES_SERVER = (AES256)
SQLNET.CRYPTO_CHECKSUM_SERVER = REQUIRED
SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER = (SHA384)
IGNORE_ANO_ENCRYPTION_FOR_TCPS=TRUE

2. On the Windows Client:

a. Rename cacertificate.txt to cacertificate.crt. Right-click on the CRT file and choose ‚Install Certificate‘ in Windows Explorer. After that you have t move via certlm the cert into trusted root folder

Move it to Vertrauenswürdige Stammzertifizierungstellen
Correct Folder

b. For clients update sqlnet.ora:

SSL_CLIENT_AUTHENTICATION = FALSE

And tnsnames.ora:
TLS / SSL connection without using a client side Wallet (Doc ID 2889040.1)

swingbenchtls = (description=(address=(protocol=tcps)(host=serverhostname.com)(port=2484))(connect_data=(service_name=SWINGBENCH))(SECURITY=(MY_WALLET_DIRECTORY=SYSTEM)))

(SECURITY= .. is not really needed.. but a good information indeed )

Test the connection using:

sqlplus system/goodoldsystempwd@swingbenchtls

If facing issues with certificate location, check the certificate manager (certlm) and move the certificate to the ‚Trusted Root Certification Authorities‘ folder.

3. On the Linux Client:

a. Use the same sqlnet.ora and tnsnames.ora configurations as in the Windows client.

b. Add cacertificate.txt to /etc/pki/tls/cert.pem.

Now, testing should confirm a successful TCPS connection. When querying for the protocol, the expected result is:

select sys_context ('userenv','network_protocol') from dual;

Output: tcps

In conclusion, using Oracle’s tools and utilities, we can effectively secure the connection between our database client and server. Always ensure you’re following best practices and referencing official Oracle documentation where needed.

Clone VM in ESXi

  1. Make your Template VM
  2. Copy on Filesystem
Thats the way to-go with ESXi
Copy it

Enter a new directory name .. and wait until its ready..
As you can see, my template name was not the best idea tomdg01 😉


Register the VM

Now Change the Name in ESXi

here from tomdg01 VM-Name to tomdg02

Now you can Start the VM – ESXi will ask you – is this a copy- please say yes here.

With your favourit tool to connect , start ssh too your Template VM IP
Now change the IP+Hostname:

vi /etc/hostname – rename host
vi /etc/hosts – change ip
vi /etc/sysconfig/network-scripts/ifcfg-* – change ip

Restart and be Happy

© 2023 Sphinx Blog

Theme by Anders NorenUp ↑