2017-06-28 00:00:39 +02:00
|
|
|
####################################################################################################################################
|
|
|
|
# Archive Performance Tests
|
|
|
|
####################################################################################################################################
|
2019-09-28 19:17:21 +02:00
|
|
|
package pgBackRestTest::Module::Performance::PerformanceArchivePerlTest;
|
2017-06-28 00:00:39 +02:00
|
|
|
use parent 'pgBackRestTest::Common::RunTest';
|
|
|
|
|
|
|
|
####################################################################################################################################
|
|
|
|
# Perl includes
|
|
|
|
####################################################################################################################################
|
|
|
|
use strict;
|
|
|
|
use warnings FATAL => qw(all);
|
|
|
|
use Carp qw(confess);
|
|
|
|
use English '-no_match_vars';
|
|
|
|
|
|
|
|
use Storable qw(dclone);
|
|
|
|
use Time::HiRes qw(gettimeofday);
|
|
|
|
|
2020-03-10 21:41:56 +02:00
|
|
|
use pgBackRestDoc::Common::Log;
|
2017-06-28 00:00:39 +02:00
|
|
|
|
|
|
|
use pgBackRestTest::Common::ExecuteTest;
|
|
|
|
use pgBackRestTest::Common::RunTest;
|
|
|
|
|
|
|
|
####################################################################################################################################
|
|
|
|
# initModule
|
|
|
|
####################################################################################################################################
|
|
|
|
sub initModule
|
|
|
|
{
|
|
|
|
my $self = shift;
|
|
|
|
|
|
|
|
$self->{strSpoolPath} = $self->testPath() . '/spool';
|
2021-11-10 19:14:41 +02:00
|
|
|
$self->{strLogPath} = $self->testPath() . '/log';
|
2017-06-28 00:00:39 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
####################################################################################################################################
|
|
|
|
# initTest
|
|
|
|
####################################################################################################################################
|
|
|
|
sub initTest
|
|
|
|
{
|
|
|
|
my $self = shift;
|
|
|
|
|
|
|
|
# Create spool path
|
|
|
|
storageTest()->pathCreate($self->{strSpoolPath}, {bIgnoreExists => true, bCreateParent => true});
|
2021-11-10 19:14:41 +02:00
|
|
|
storageTest()->pathCreate($self->{strLogPath}, {bIgnoreExists => true, bCreateParent => true});
|
2017-06-28 00:00:39 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
####################################################################################################################################
|
|
|
|
# run
|
|
|
|
####################################################################################################################################
|
|
|
|
sub run
|
|
|
|
{
|
|
|
|
my $self = shift;
|
|
|
|
|
|
|
|
################################################################################################################################
|
|
|
|
if ($self->begin("archive-push async (detect ok file)"))
|
|
|
|
{
|
|
|
|
#---------------------------------------------------------------------------------------------------------------------------
|
|
|
|
storageTest()->put(
|
|
|
|
storageTest()->openWrite(
|
|
|
|
'spool/archive/' . $self->stanza() . '/out/000000010000000100000001.ok', {bPathCreate => true}));
|
|
|
|
|
2021-11-10 19:14:41 +02:00
|
|
|
my $iRunTotal = 100;
|
2017-06-28 00:00:39 +02:00
|
|
|
my $lTimeBegin = gettimeofday();
|
|
|
|
|
|
|
|
for (my $iIndex = 0; $iIndex < $iRunTotal; $iIndex++)
|
|
|
|
{
|
2021-11-10 19:14:41 +02:00
|
|
|
my $iResult = system(
|
2020-03-09 23:41:59 +02:00
|
|
|
$self->backrestExe() . ' --stanza=' . $self->stanza() . ' --archive-async --spool-path=' . $self->{strSpoolPath} .
|
2021-11-10 19:14:41 +02:00
|
|
|
' --log-level-file=detail --log-path=' . $self->{strLogPath} . ' --archive-timeout=1' .
|
|
|
|
' --pg1-path=/not/used archive-push /pg_xlog/000000010000000100000001');
|
|
|
|
|
|
|
|
if ($iResult != 0)
|
|
|
|
{
|
|
|
|
confess "archive-push returned ${iResult}";
|
|
|
|
}
|
2017-06-28 00:00:39 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
&log(INFO, 'time per execution: ' . ((gettimeofday() - $lTimeBegin) / $iRunTotal));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
1;
|