Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Add TPC-DS stress tests#17

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
maksm90 merged 24 commits intopostgrespro:masterfromololobus:tpc-ds
Jan 10, 2020
Merged

Conversation

ololobus
Copy link
Contributor

@ololobusololobus commentedOct 26, 2019
edited
Loading

I have tried to focus here only on adding TPC-DS tests. Sergey's solution from#16 was reworked. The key point was to add TPC-DS without affecting all previous test cases.

The following new features added:

  • Run pg_query_state under TPC-DS load
  • Refactor everything to support both Python 2/3, since Python 2 ends its life cycle on January 1 2020

@codecov-io
Copy link

codecov-io commentedOct 26, 2019
edited
Loading

Codecov Report

Merging#17 intomaster willincrease coverage by11.77%.
The diff coverage isn/a.

Impacted file tree graph

@@             Coverage Diff             @@##           master      #17       +/-   ##===========================================+ Coverage   77.09%   88.86%   +11.77%===========================================  Files           4        2        -2       Lines         502      503        +1     ===========================================+ Hits          387      447       +60+ Misses        115       56       -59
Impacted FilesCoverage Δ
pg_bin/include/postgresql/server/utils/palloc.h
pg_bin/include/postgresql/server/storage/s_lock.h
signal_handler.c97.59% <0%> (+6.12%)⬆️
pg_query_state.c87.14% <0%> (+13.22%)⬆️

Continue to review full report at Codecov.

Legend -Click here to learn more
Δ = absolute <relative> (impact),ø = not affected,? = missing data
Powered byCodecov. Last update0ebe691...8545705. Read thecomment docs.

Comment on lines +81 to +83
MAX_FIRST_GETTING_QS_RETRIES = 10
PG_QS_DELAY, BEFORE_GETTING_QS_DELAY = 0.1, 0.1
BEFORE_GETTING_QS, GETTING_QS = range(2)
Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

These look like constants, so I would prefer to move them to the place nearTPC_DS_EXCLUDE_LIST

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Accepted

Comment on lines +124 to +125
parser.add_argument('--tpc-ds-setup', dest='tpcds_setup', action='store_true', help='setup database to run TPC-DS benchmark')
parser.add_argument('--tpc-ds-run', dest='tpcds_run', action='store_true', help='run only stress test based on TPC-DS benchmark')
Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Why do you separate TPC-DS run and setup? You cannot run tests without a setup I guess. And what is the point to setup without run?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Because the whole task(TPC-DS running) is huge and its running takes much time. Clearly, it have to be decomposed to separate subtasks so to be able to run their more granular. This separation is the fist step to achieve it. In particular, it provides to run tpc-ds bench multiple times for debugging purpose without initializing database at all time.
Yes,tpc-ds-run requirestpc-ds-setup and fails until database is initialized properly.

@@ -0,0 +1,103 @@
'''
common.py
Copyright (c) 2016-2019, Postgres Professional
Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I guess you can put 2020 everywhere already :)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Done

Comment on lines 6 to 11
import common
import os
import progressbar
import psycopg2.extensions
import subprocess
import time
Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I would prefer following order (built-in library first, extra modules second, local modules last):

importosimporttimeimportsubprocessimportpsycopg2.extensionsimportprogressbarimport .common

Just for cleanliness

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Thx, accepted

@maksm90maksm90 merged commit79fc013 intopostgrespro:masterJan 10, 2020
@ololobusololobus mentioned this pull requestJan 10, 2020
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@maksm90maksm90Awaiting requested review from maksm90

Assignees
No one assigned
Labels
None yet
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

3 participants
@ololobus@codecov-io@maksm90

[8]ページ先頭

©2009-2025 Movatter.jp