Op mijn bedrijf hebben we een aantal servers staan, waaronder een aantal AIX machines van IBM. De diskperformance is nogal aan de lage kant en het lijkt wel alsof het inherent te maken heeft met AIX zelf OF met IBM's JFS2 filesysteem.
Nu heb ik een test progje getypt en was benieuwd of er mensen zijn die dit lezen, toegang hebben tot een AIX machine hebben en wellicht deze test ook eens kunnen doen en de resultaten posten hier
(misschien een beetje teveel gevraagd
)
Anyway, eerst de hardware:
Onze nieuwste AIX (OS versie 5.3) doos is een p-series 550 met een enkele dual-core G5 @ 1.2 GHz, 12 GB RAM en 2x 73 GB 10krpm disks (SCSI, natuurlijk).
De machine draait in LPAR mode. Iedere LPAR heeft 5.5 GB (1 GB moet naar de Virtual I/O server) en samen delen ze de 2 disks. De disks bevatten LVM en beide LPARs hebben 30GB is blokken van 32MB verdeeld over de disks.
Tevens heb ik deze test gedraaid op een Windows bak (desktop machine, P4@2.8 GHz, 1 GB RAM, 40 GB IDE disk) en een Linux Server (HP ProLiant 360, 2x Xeon HT@3.06 GHz, 3GB RAM, HW RAID-5 (HP Smart Array) met 4x 73 GB 15krpm disks en 64MB BBU write cache)
Nu de test applicatie. Sinds we veel werken met IBM WebSphere en onze applicaties allemaal geschreven zijn in Java, vond ik het toepasselijk om de test applicatie in java te schrijven:
Edit: Het grootste probleem is disk-access. Oftewel het schrijven van grote aantallen kleine bestanden naar de disk. Dit Java progseltje schrijft 1000 bestanden van 512 bytes naar de disk en verwijderd deze weer. (de echte bottleneck van onze AIX bak)
En de resultaten (JVM 1.4.x):
Windows Desktop: +/- 1500 ms
Linux Server: +/- 500 ms
AIX server: 12000-16000 ms
Dat de Linux server met SCSI HW-RAID-5 en BBU write cache veel sneller is dan de Windows desktop met enkele IDE disk, is niet meer dan logisch.
Maar de AIX machine met dubbele geshared SCSI-disk valt wel heel erg uit de toon.
Dan voor mij het belangrijkste gedeelte van deze post:
wie kan dit test progje draaien op een AIX bak en dan ff de resultaten posten en de HW specs van de AIX bak erbij zetten...
Nu heb ik een test progje getypt en was benieuwd of er mensen zijn die dit lezen, toegang hebben tot een AIX machine hebben en wellicht deze test ook eens kunnen doen en de resultaten posten hier
Anyway, eerst de hardware:
Onze nieuwste AIX (OS versie 5.3) doos is een p-series 550 met een enkele dual-core G5 @ 1.2 GHz, 12 GB RAM en 2x 73 GB 10krpm disks (SCSI, natuurlijk).
De machine draait in LPAR mode. Iedere LPAR heeft 5.5 GB (1 GB moet naar de Virtual I/O server) en samen delen ze de 2 disks. De disks bevatten LVM en beide LPARs hebben 30GB is blokken van 32MB verdeeld over de disks.
Tevens heb ik deze test gedraaid op een Windows bak (desktop machine, P4@2.8 GHz, 1 GB RAM, 40 GB IDE disk) en een Linux Server (HP ProLiant 360, 2x Xeon HT@3.06 GHz, 3GB RAM, HW RAID-5 (HP Smart Array) met 4x 73 GB 15krpm disks en 64MB BBU write cache)
Nu de test applicatie. Sinds we veel werken met IBM WebSphere en onze applicaties allemaal geschreven zijn in Java, vond ik het toepasselijk om de test applicatie in java te schrijven:
Edit: Het grootste probleem is disk-access. Oftewel het schrijven van grote aantallen kleine bestanden naar de disk. Dit Java progseltje schrijft 1000 bestanden van 512 bytes naar de disk en verwijderd deze weer. (de echte bottleneck van onze AIX bak)
code:
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
| import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.DecimalFormat;
public class DiskTester {
public static int MAXFILES = 1000;
public static void main (String args[]) {
// Determine max number of positions needed
String maxnumber = String.valueOf(MAXFILES-1);
int numberlength = maxnumber.length();
// Setup numberformatter
String numberFormatString = new String();
for (int i=0; i<numberlength; i++) {
numberFormatString += "#";
}
DecimalFormat numberFormatter = new DecimalFormat(numberFormatString);
// Setup filecontent
byte[] filecontent = new byte[512];
String filename;
String filesuffix = ".tmp";
try {
long starttime = System.currentTimeMillis();
System.out.println("Writing files...");
for (int i=0; i<(MAXFILES-1); i++) {
filename = numberFormatter.format(i) + filesuffix;
FileOutputStream fos = new FileOutputStream(new File(filename));
fos.write(filecontent);
fos.flush();
fos.close();
}
System.out.println("Deleting files...");
for (int i=0; i<(MAXFILES-1); i++) {
filename = numberFormatter.format(i) + filesuffix;
File file = new File(filename);
if (file.exists()) {
file.delete();
}
}
long endtime = System.currentTimeMillis();
long runtime = endtime - starttime;
System.out.println("Done. Runtime: " + runtime + " ms.");
} catch (FileNotFoundException fnfe) {
System.err.println("File not found: " + fnfe);
} catch (IOException ioe) {
System.err.println("General IO exception: " + ioe);
}
}
} |
En de resultaten (JVM 1.4.x):
Windows Desktop: +/- 1500 ms
Linux Server: +/- 500 ms
AIX server: 12000-16000 ms
Dat de Linux server met SCSI HW-RAID-5 en BBU write cache veel sneller is dan de Windows desktop met enkele IDE disk, is niet meer dan logisch.
Maar de AIX machine met dubbele geshared SCSI-disk valt wel heel erg uit de toon.
Dan voor mij het belangrijkste gedeelte van deze post:
wie kan dit test progje draaien op een AIX bak en dan ff de resultaten posten en de HW specs van de AIX bak erbij zetten...
[ Voor 6% gewijzigd door GarBaGe op 15-09-2005 09:58 ]
Ryzen9 5900X; 16GB DDR4-3200 ; RTX-4080S ; 7TB SSD