зеркало из https://github.com/microsoft/StorScore.git
118 строки
3.4 KiB
Perl
118 строки
3.4 KiB
Perl
# vim: set filetype=perl:
|
|
|
|
# StorScore
|
|
#
|
|
# Copyright (c) Microsoft Corporation
|
|
#
|
|
# All rights reserved.
|
|
#
|
|
# MIT License
|
|
#
|
|
# Permission is hereby granted, free of charge, to any person obtaining a
|
|
# copy of this software and associated documentation files (the "Software"),
|
|
# to deal in the Software without restriction, including without limitation
|
|
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
# and/or sell copies of the Software, and to permit persons to whom the
|
|
# Software is furnished to do so, subject to the following conditions:
|
|
#
|
|
# The above copyright notice and this permission notice shall be included in
|
|
# all copies or substantial portions of the Software.
|
|
#
|
|
# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
# DEALINGS IN THE SOFTWARE.
|
|
|
|
|
|
# These tests correspond to the requirements defined in the WCS SSD
|
|
# Specification version 3.0
|
|
|
|
include 'write_impact_check.rcp';
|
|
|
|
test(
|
|
description => "Random Reads",
|
|
write_percentage => 0,
|
|
access_pattern => 'random',
|
|
block_size => '4K',
|
|
queue_depth => 4,
|
|
warmup_time => 60,
|
|
run_time => 3600,
|
|
);
|
|
|
|
test(
|
|
description => "Random Writes",
|
|
write_percentage => 100,
|
|
access_pattern => 'random',
|
|
block_size => '4K',
|
|
queue_depth => 32,
|
|
warmup_time => 60,
|
|
run_time => 3600,
|
|
);
|
|
|
|
test(
|
|
description => "Random 4k Mix",
|
|
write_percentage => 30,
|
|
access_pattern => 'random',
|
|
block_size => '4K',
|
|
queue_depth => 32,
|
|
warmup_time => 60,
|
|
run_time => 3600,
|
|
);
|
|
|
|
test(
|
|
description => "Random 8k Mix",
|
|
write_percentage => 30,
|
|
access_pattern => 'random',
|
|
block_size => '8K',
|
|
queue_depth => 1,
|
|
warmup_time => 60,
|
|
run_time => 3600,
|
|
);
|
|
|
|
test(
|
|
description => "Sequential Reads",
|
|
write_percentage => 0,
|
|
access_pattern => 'sequential',
|
|
block_size => '128K',
|
|
queue_depth => 32,
|
|
warmup_time => 60,
|
|
run_time => 3600,
|
|
);
|
|
|
|
test(
|
|
description => "Sequential Writes",
|
|
write_percentage => 100,
|
|
access_pattern => 'sequential',
|
|
block_size => '128K',
|
|
queue_depth => 32,
|
|
warmup_time => 60,
|
|
run_time => 3600,
|
|
);
|
|
|
|
|
|
# 20% OP corresponds to 88.89% of user-visible capacity
|
|
test(
|
|
description => "Random Writes 20% OP",
|
|
percent_used => 88.89,
|
|
write_percentage => 100,
|
|
access_pattern => 'random',
|
|
block_size => '4K',
|
|
queue_depth => 32,
|
|
warmup_time => 60,
|
|
run_time => 3600,
|
|
);
|
|
|
|
test(
|
|
description => "Random Mix 20% OP",
|
|
percent_used => 88.89,
|
|
write_percentage => 30,
|
|
access_pattern => 'random',
|
|
block_size => '8K',
|
|
queue_depth => 32,
|
|
warmup_time => 60,
|
|
run_time => 3600,
|
|
);
|