Database Replay加压播放参数之SCALE_UP_MULTIPLIER
当我们要迁移到新的环境之前,我们都想测试下我们新的环境是否能负荷生产的负载。同时,对于一些特殊的应用场景,我们还需要考虑模拟更大的并发量来测试是否能顶住未来的压力。举个简单的例子,我搞个电子商务的网站,我现在每秒能支持1000个人同时在线做查
当我们要迁移到新的环境之前,我们都想测试下我们新的环境是否能负荷生产的负载。同时,对于一些特殊的应用场景,我们还需要考虑模拟更大的并发量来测试是否能顶住未来的压力。举个简单的例子,我搞个电子商务的网站,我现在每秒能支持1000个人同时在线做查询,购买等等操作。那么未来我们的网站影响力得到了扩大,可能有更多的人进行访问,比如1万人、10万人,这个压力下我的数据库服务器能顶住吗?在这里不得不吐槽一下我们的某(tie)车(dao)票(bu)的网站,真是烂的要死,一到过年的时候,就卡个不行。他们真应该多做做这种加压测试。上一篇我们主要介绍了Database Replay基本使用,我们捕获了现有的压力,然后拿到新的环境上去播放,基本上是1比1的。这一篇我们要进行一个加压的播放,这主要取决于我们的参数SCALE_UP_MULTIPLIER。这个参数可以帮助我们把只读的操作按照比例进行扩大。对于DML、DDL,或者是修改数据库的PL/SQL代码以及SELECT FOR UPDATE都将被忽略掉。这个也比较容易理解,毕竟修改操作是独占不能共享的。
上一篇我们捕获的一个环境的数据如下,这里可以看到USER_CALLS为56次,那么我们加速10倍播放,一定会达到5600次。我们来实验一下。
SQL> select name, directory, status, start_time, end_time, USER_CALLS,TRANSACTIONS from dba_workload_captures; NAME DIRECTORY STATUS START_TIM END_TIME USER_CALLS TRANSACTIONS -------------------- --------------- --------------- --------- --------- ---------- ------------ test_capture_1 DATA_PUMP_DIR COMPLETED 20-APR-14 20-APR-14 56 10
1.预处理数据
SQL> exec dbms_workload_replay.process_capture('DATA_PUMP_DIR'); PL/SQL procedure successfully completed
2.执行重放
SQL> exec dbms_workload_replay.initialize_replay (replay_name => 'test_replay_1', replay_dir => 'DATA_PUMP_DIR'); PL/SQL procedure successfully completed. SQL> select id,name,PARALLEL,CAPTURE_ID,STATUS,USER_CALLS from DBA_WORKLOAD_REPLAYS; ID NAME PAR CAPTURE_ID STATUS USER_CALLS ---------- ------------------------------ --- ---------- ---------------------------------------- ---------- 61 test_replay_1 NO 65 INITIALIZED SQL> exec DBMS_WORKLOAD_REPLAY.prepare_replay (synchronization => TRUE,SCALE_UP_MULTIPLIER=>100); PL/SQL procedure successfully completed.
新开一个终端,在终端上的datadump目录下运行:
[oracle@11g dpdump]$ wrc system/oracle mode=replay replaydir=/oracle/app/oracle/admin/ora11/dpdump Workload Replay Client: Release 11.2.0.4.0 - Production on Mon Apr 21 20:57:38 2014 Copyright (c) 1982, 2011, Oracle and/or its affiliates.? All rights reserved. Wait for the replay to start (20:57:38)
切换回刚才的SQLPLUS窗口,开始执行Replay操作。
SQL> exec DBMS_WORKLOAD_REPLAY.START_REPLAY(); PL/SQL procedure successfully completed.
再看终端窗口的显示。
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options [oracle@11g dpdump]$ wrc system/oracle mode=replay replaydir=/oracle/app/oracle/admin/ora11/dpdump Workload Replay Client: Release 11.2.0.4.0 - Production on Mon Apr 21 20:57:38 2014 Copyright (c) 1982, 2011, Oracle and/or its affiliates.? All rights reserved. Wait for the replay to start (20:57:38) Replay started (20:57:44) Replay finished (20:58:58)
完成后切换回SQLPLUS下执行查询。可以看到USER_CALLS是之前的10倍。
SQL> select id,name,PARALLEL,CAPTURE_ID,STATUS,USER_CALLS from DBA_WORKLOAD_REPLAYS; ID NAME PAR CAPTURE_ID STATUS USER_CALLS ---------- ------------------------------ --- ---------- ---------------------------------------- ---------- 61 test_replay_1 NO 65 COMPLETED 5600
再看看我们的事务,没有变化,发现还是10次。
SQL> connect test/test Connected. SQL> select count(1) from tt;?? COUNT(1) ---------- ??????? 10
通过这个参数,我们可以模拟更高的查询并发,预测生成环境未来的负载能力。同时,我们还可以生成更多的报告来进行对比。如果发现某些语句查询在1000个人下面正常,在1万、10万下就变得缓慢,那就需要去整改。比如逻辑读高的,一点点会话看不出什么问题的。一大堆会话就容易出现latch:cache buffer chains的等待。这能指导我们进行SQL调整。
原文地址:Database Replay加压播放参数之SCALE_UP_MULTIPLIER, 感谢原作者分享。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Les solutions à l'erreur de base de données Discuz sont : 1. Vérifiez la configuration de la base de données ; 2. Assurez-vous que le serveur de base de données est en cours d'exécution ; 3. Vérifiez l'état de la table de base de données ; 5. Videz le cache ; ; 7. Vérifiez les ressources du serveur ; 8. Contactez le support officiel de Discuz. Résoudre les erreurs de base de données Discuz nécessite de commencer par plusieurs aspects, d'étudier progressivement la cause du problème et de prendre les mesures correspondantes pour le réparer.

Intel Arrow Lake devrait être basé sur la même architecture de processeur que Lunar Lake, ce qui signifie que les tout nouveaux cœurs de performance Lion Cove d'Intel seront combinés avec les cœurs d'efficacité économiques Skymont.

Ce guide rapide vous montrera comment utiliser AirPlay, la fonctionnalité innovante de streaming sans fil d'Apple pour partager et afficher facilement du contenu. Vous permet d'utiliser le Wi-Fi pour connecter votre iPhone ou iPad à des Apple TV, des téléviseurs intelligents, des haut-parleurs et des Mac compatibles AirPlay, ainsi qu'à certains haut-parleurs et téléviseurs intelligents tiers, pour un transfert de données fluide. AirPlay fonctionne sur une base peer-to-peer, connectant vos appareils Apple via le réseau local. Il utilise une combinaison de technologies, notamment le protocole RTP (Real-time Transport Protocol) pour le streaming audio et vidéo et Bonjour pour la découverte d'appareils. En termes simples, lorsque vous utilisez AirPlay, votre appareil envoie un flux de données, puis

Nouvelle fonctionnalité de la version PHP5.4 : Comment utiliser les paramètres d'indication de type appelable pour accepter des fonctions ou des méthodes appelables Introduction : La version PHP5.4 introduit une nouvelle fonctionnalité très pratique : vous pouvez utiliser des paramètres d'indication de type appelable pour accepter des fonctions ou des méthodes appelables. Cette nouvelle fonctionnalité permet aux fonctions et méthodes de spécifier directement les arguments appelables correspondants sans vérifications ni conversions supplémentaires. Dans cet article, nous présenterons l'utilisation d'indicateurs de type appelables et fournirons quelques exemples de code,

Les paramètres du produit font référence à la signification des attributs du produit. Par exemple, les paramètres vestimentaires incluent la marque, le matériau, le modèle, la taille, le style, le tissu, le groupe applicable, la couleur, etc. ; les paramètres alimentaires incluent la marque, le poids, le matériau, le numéro de licence sanitaire, le groupe applicable, la couleur, etc. ; inclure la marque, la taille, la couleur, le lieu d'origine, la tension applicable, le signal, l'interface et la puissance, etc.

Le i9-12900H est un processeur à 14 cœurs. L'architecture et la technologie utilisées sont toutes nouvelles, et les threads sont également très élevés. Le travail global est excellent et certains paramètres ont été améliorés et peuvent apporter aux utilisateurs une excellente expérience. . Examen de l'évaluation des paramètres du i9-12900H : 1. Le i9-12900H est un processeur à 14 cœurs, qui adopte l'architecture q1 et la technologie de processus de 24 576 Ko, et a été mis à niveau vers 20 threads. 2. La fréquence maximale du processeur est de 1,80 ! 5,00 GHz, ce qui dépend principalement de la charge de travail. 3. Par rapport au prix, il est très approprié. Le rapport qualité-prix est très bon et il convient très bien à certains partenaires qui ont besoin d'une utilisation normale. Évaluation des paramètres du i9-12900H et scores de performance

Pendant le processus de développement, nous pouvons rencontrer un tel message d'erreur : PHPWarning : in_array()expectsparameter. Ce message d'erreur apparaîtra lors de l'utilisation de la fonction in_array(). Cela peut être dû à un passage incorrect des paramètres de la fonction. Jetons un coup d'œil à la solution à ce message d'erreur. Tout d’abord, vous devez clarifier le rôle de la fonction in_array() : vérifier si une valeur existe dans le tableau. Le prototype de cette fonction est : in_a

La vérification de sécurité des types de paramètres C++ garantit que les fonctions n'acceptent que les valeurs des types attendus via des vérifications au moment de la compilation, des vérifications au moment de l'exécution et des assertions statiques, évitant ainsi tout comportement inattendu et les plantages du programme : Vérification du type au moment de la compilation : le compilateur vérifie la compatibilité des types. Vérification du type d'exécution : utilisez Dynamic_cast pour vérifier la compatibilité des types et lancez une exception s'il n'y a pas de correspondance. Assertion statique : affirmer les conditions de type au moment de la compilation.
