Oracle压力测试工具ORION
ORION (Oracle I/O Calibration Tool) 是校准用于 Oracle 数据库的存储系统 I/O 性能的独立工具。校准结果对于了解存储系统的性能
1,功能简介
ORION (Oracle I/O Calibration Tool) 是校准用于 Oracle 数据库的存储系统 I/O 性能的独立工具。校准结果对于了解存储系统的性能有很大帮助,不仅可以找出影响 Oracle 数据库性能的问题,还能测量新数据库安装的大小。由于 ORION 是一个独立工具,用户不需要创建和运行 Oracle 数据库。
为了尽可能地模拟 Oracle 数据库,ORION 使用和 Oracle 相同的 I/O 软件集生成一个合成的 I/O 负载。可以将 ORION 配置为生成很多 I/O 负载,包括一个模拟 OLTP 和数据仓库负载的 I/O 负载。
ORION 支持多种平台。将来还会增加对更多平台的支持。用户指南提供详细的使用文档,包括“入门”部分和疑难解答提示。在 ORION 中调用“-help”选项可以直接获取关于如何使用 ORION 的摘要。
2,简单使用过程
下载地址
运行安装
gunzip orion_linux_x86-64
运行测试
生成mytest.lun文件
/dev/mapper/mpath7p1
/dev/mapper/mpath8p1
运行命令
./orion_linux_x86-64 -run simple -testname mytest -num_disks 2
其它方式的命令可以寻求帮助
./orion_linux_x86-64 -help
3,,测试结果
[root@ tmp]# cat mytest_20120629_1519_summary.txt
ORION VERSION 11.1.0.7.0
Commandline:
-run simple -testname mytest -num_disks 2
This maps to this test:
Test: mytest
Small IO size: 8 KB
Large IO size: 1024 KB
IO Types: Small Random IOs, Large Random IOs
Simulated Array Type: CONCAT
Write: 0%
Cache Size: Not Entered
Duration for each Data Point: 60 seconds
Small Columns:, 0
Large Columns:, 0, 1, 2, 3, 4
Total Data Points: 15
Name: /dev/mapper/mpath7p1 Size: 536869863424
Name: /dev/mapper/mpath8p1 Size: 536869863424
2 FILEs found.
Maximum Large MBPS=183.53 @ Small=0 and Large=4
Maximum Small IOPS=851 @ Small=10 and Large=0
Minimum Small Latency=11.38 @ Small=3 and Large=0
4,结果比较分析
在压力测试的同时,通过IOSTAT命令也可以简单计算数值,由于采样原因,最大值稍有不同。
IOPS = [dm-13]r/s + [dm-14]r/s + [dm-13]w/s + [dm-14]w/s IOSTAT最大422+424=846
MBPS = ([dm-13]rsec/s + [dm-14]rsec/s)/2/1024 = rMB/s + wMB/s IOSTAT最大94+92=186MBPS
Latency = await 基本11秒左右
[root@ mapper]# iostat -d -x 1 30|grep dm-1[3,4]
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
dm-13 0.00 0.00 25.50 0.00 3386.05 0.00 132.77 0.32 12.57 4.45 11.35
dm-14 0.00 0.00 25.56 0.00 3426.57 0.00 134.04 0.32 12.60 4.44 11.36
dm-13 0.00 0.00 339.00 0.00 5424.00 0.00 16.00 4.01 11.86 2.95 100.10
dm-14 0.00 0.00 328.00 0.00 5248.00 0.00 16.00 3.97 12.00 3.02 99.20
dm-13 0.00 0.00 364.00 0.00 5824.00 0.00 16.00 4.20 11.43 2.74 99.70
dm-14 0.00 0.00 325.00 0.00 5200.00 0.00 16.00 3.78 11.72 3.05 99.10
dm-13 0.00 0.00 340.00 0.00 5440.00 0.00 16.00 3.94 11.64 2.94 99.80
dm-14 0.00 0.00 355.00 0.00 5680.00 0.00 16.00 4.02 11.36 2.82 100.20
[root@ host8]# iostat -d -xm 1 30|grep dm-1[3,4]
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util
dm-13 0.00 0.00 341.00 0.00 2.66 0.00 16.00 4.07 11.90 2.93 99.80
dm-14 0.00 0.00 343.00 0.00 2.68 0.00 16.00 3.90 11.35 2.92 100.10
dm-13 0.00 0.00 330.00 0.00 2.58 0.00 16.00 3.92 11.89 3.01 99.40
dm-14 0.00 0.00 360.00 0.00 2.81 0.00 16.00 4.04 11.29 2.73 98.40
dm-13 0.00 0.00 342.00 0.00 2.67 0.00 16.00 4.09 12.08 2.90 99.30
dm-14 0.00 0.00 352.00 0.00 2.75 0.00 16.00 3.87 10.89 2.82 99.40
dm-13 0.00 0.00 345.54 0.00 2.70 0.00 16.00 3.98 11.48 2.87 99.21
dm-14 0.00 0.00 336.63 0.00 2.63 0.00 16.00 3.92 11.61 2.92 98.42
dm-13 0.00 0.00 352.00 0.00 2.75 0.00 16.00 3.96 11.23 2.83 99.50
dm-14 0.00 0.00 344.00 0.00 2.69 0.00 16.00 3.98 11.62 2.89 99.30
dm-13 0.00 0.00 179.00 0.00 89.50 0.00 1024.00 3.74 20.88 5.20 93.13
dm-14 0.00 0.00 189.60 0.00 94.80 0.00 1024.00 3.84 20.27 4.96 94.07
dm-13 0.00 0.00 188.20 0.00 94.10 0.00 1024.00 3.84 20.42 4.98 93.68
dm-14 0.00 0.00 185.20 0.00 92.60 0.00 1024.00 3.75 20.27 5.01 92.79
dm-13 0.00 0.00 180.00 0.00 90.00 0.00 1024.00 3.70 20.55 5.07 91.17
dm-13 0.00 0.00 441.40 0.00 3.45 0.00 16.00 5.13 11.62 2.26 99.91
dm-14 0.00 0.00 415.20 0.00 3.24 0.00 16.00 4.82 11.60 2.41 99.92
dm-13 0.00 0.00 422.70 0.00 3.30 0.00 16.00 4.93 11.66 2.36 99.89
dm-14 0.00 0.00 424.80 0.00 3.32 0.00 16.00 5.02 11.81 2.35 99.83
dm-13 0.00 0.00 426.80 0.00 3.33 0.00 16.00 4.99 11.69 2.34 99.92
dm-14 0.00 0.00 419.90 0.00 3.28 0.00 16.00 4.96 11.80 2.38 100.00
rrqm/s: 每秒进行 merge 的读操作数目。即 delta(rmerge)/s
wrqm/s: 每秒进行 merge 的写操作数目。即 delta(wmerge)/s
r/s: 每秒完成的读 I/O 设备次数。即 delta(rio)/s
w/s: 每秒完成的写 I/O 设备次数。即 delta(wio)/s
rsec/s: 每秒读扇区数。即 delta(rsect)/s
wsec/s: 每秒写扇区数。即 delta(wsect)/s
rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。
wkB/s: 每秒写K字节数。是 wsect/s 的一半。
avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。即 delta(rsect+wsect)/delta(rio+wio)
avgqu-sz: 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。
await: 平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)
svctm: 平均每次设备I/O操作的服务时间 (毫秒)。即 delta(use)/delta(rio+wio)
%util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。
即 delta(use)/s/1000 (因为use的单位为毫秒
备注:
IO的映射可以通过如下命令获得。mpath8即为dm-14
multipath -ll
mpath8 (360050768018086462800000000000055) dm-14 IBM,2145
[size=500G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=100][active]
\_ 9:0:0:9 sdak 66:64 [active][ready]
\_ 8:0:0:9 sdk 8:160 [active][ready]
\_ round-robin 0 [prio=20][enabled]
\_ 9:0:1:9 sdax 67:16 [active][ready]
\_ 8:0:1:9 sdx 65:112 [active][ready]
mpath7 (360050768018086462800000000000054) dm-13 IBM,2145
[size=500G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=100][active]
\_ 9:0:1:8 sdaw 67:0 [active][ready]
\_ 8:0:1:8 sdw 65:96 [active][ready]
\_ round-robin 0 [prio=20][enabled]
\_ 9:0:0:8 sdaj 66:48 [active][ready]
\_ 8:0:0:8 sdj 8:144 [active][ready]

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die Go-Sprache ist eine effiziente, prägnante und leicht zu erlernende Programmiersprache. Sie wird von Entwicklern aufgrund ihrer Vorteile bei der gleichzeitigen Programmierung und Netzwerkprogrammierung bevorzugt. In der tatsächlichen Entwicklung sind Datenbankoperationen ein unverzichtbarer Bestandteil. In diesem Artikel wird erläutert, wie die Go-Sprache zum Implementieren von Datenbank-Hinzufügungs-, Lösch-, Änderungs- und Abfrageoperationen verwendet wird. In der Go-Sprache verwenden wir normalerweise Bibliotheken von Drittanbietern, um Datenbanken zu betreiben, z. B. häufig verwendete SQL-Pakete, Gorm usw. Hier nehmen wir das SQL-Paket als Beispiel, um vorzustellen, wie die Hinzufügungs-, Lösch-, Änderungs- und Abfragevorgänge der Datenbank implementiert werden. Angenommen, wir verwenden eine MySQL-Datenbank.

Die polymorphe Hibernate-Zuordnung kann geerbte Klassen der Datenbank zuordnen und bietet die folgenden Zuordnungstypen: Joined-Subclass: Erstellen Sie eine separate Tabelle für die Unterklasse, einschließlich aller Spalten der übergeordneten Klasse. Tabelle pro Klasse: Erstellen Sie eine separate Tabelle für Unterklassen, die nur unterklassenspezifische Spalten enthält. Union-Unterklasse: ähnelt der verbundenen Unterklasse, aber die Tabelle der übergeordneten Klasse vereint alle Spalten der Unterklasse.

Apples neueste Versionen der iOS18-, iPadOS18- und macOS Sequoia-Systeme haben der Fotoanwendung eine wichtige Funktion hinzugefügt, die Benutzern dabei helfen soll, aus verschiedenen Gründen verlorene oder beschädigte Fotos und Videos einfach wiederherzustellen. Mit der neuen Funktion wird im Abschnitt „Extras“ der Fotos-App ein Album mit dem Namen „Wiederhergestellt“ eingeführt, das automatisch angezeigt wird, wenn ein Benutzer Bilder oder Videos auf seinem Gerät hat, die nicht Teil seiner Fotobibliothek sind. Das Aufkommen des Albums „Wiederhergestellt“ bietet eine Lösung für Fotos und Videos, die aufgrund einer Datenbankbeschädigung verloren gehen, die Kameraanwendung nicht korrekt in der Fotobibliothek speichert oder eine Drittanbieteranwendung die Fotobibliothek verwaltet. Benutzer benötigen nur wenige einfache Schritte

HTML kann die Datenbank nicht direkt lesen, dies kann jedoch über JavaScript und AJAX erreicht werden. Zu den Schritten gehören das Herstellen einer Datenbankverbindung, das Senden einer Abfrage, das Verarbeiten der Antwort und das Aktualisieren der Seite. Dieser Artikel bietet ein praktisches Beispiel für die Verwendung von JavaScript, AJAX und PHP zum Lesen von Daten aus einer MySQL-Datenbank und zeigt, wie Abfrageergebnisse dynamisch auf einer HTML-Seite angezeigt werden. In diesem Beispiel wird XMLHttpRequest verwendet, um eine Datenbankverbindung herzustellen, eine Abfrage zu senden und die Antwort zu verarbeiten. Dadurch werden Daten in Seitenelemente gefüllt und die Funktion des HTML-Lesens der Datenbank realisiert.

So verwenden Sie MySQLi zum Herstellen einer Datenbankverbindung in PHP: MySQLi-Erweiterung einbinden (require_once) Verbindungsfunktion erstellen (functionconnect_to_db) Verbindungsfunktion aufrufen ($conn=connect_to_db()) Abfrage ausführen ($result=$conn->query()) Schließen Verbindung ( $conn->close())

Um Datenbankverbindungsfehler in PHP zu behandeln, können Sie die folgenden Schritte ausführen: Verwenden Sie mysqli_connect_errno(), um den Fehlercode abzurufen. Verwenden Sie mysqli_connect_error(), um die Fehlermeldung abzurufen. Durch die Erfassung und Protokollierung dieser Fehlermeldungen können Datenbankverbindungsprobleme leicht identifiziert und behoben werden, wodurch der reibungslose Betrieb Ihrer Anwendung gewährleistet wird.

PHP ist eine Back-End-Programmiersprache, die in der Website-Entwicklung weit verbreitet ist. Sie verfügt über leistungsstarke Datenbankbetriebsfunktionen und wird häufig zur Interaktion mit Datenbanken wie MySQL verwendet. Aufgrund der Komplexität der Kodierung chinesischer Zeichen treten jedoch häufig Probleme beim Umgang mit verstümmelten chinesischen Zeichen in der Datenbank auf. In diesem Artikel werden die Fähigkeiten und Praktiken von PHP beim Umgang mit chinesischen verstümmelten Zeichen in Datenbanken vorgestellt, einschließlich häufiger Ursachen für verstümmelte Zeichen, Lösungen und spezifischer Codebeispiele. Häufige Gründe für verstümmelte Zeichen sind falsche Einstellungen für den Datenbank-Zeichensatz: Beim Erstellen der Datenbank muss der richtige Zeichensatz ausgewählt werden, z. B. utf8 oder u

Durch die Verwendung der Datenbank-Rückruffunktion in Golang kann Folgendes erreicht werden: Ausführen von benutzerdefiniertem Code, nachdem der angegebene Datenbankvorgang abgeschlossen ist. Fügen Sie benutzerdefiniertes Verhalten durch separate Funktionen hinzu, ohne zusätzlichen Code zu schreiben. Rückruffunktionen stehen für Einfüge-, Aktualisierungs-, Lösch- und Abfragevorgänge zur Verfügung. Sie müssen die Funktion sql.Exec, sql.QueryRow oder sql.Query verwenden, um die Rückruffunktion verwenden zu können.
