第二周实习记录

Posted by DAC on July 9, 2021

本周任务

  • 配置并学会使用benchmarksql,继续阅读Xtuner源代码

0705

benchmarksql的安装

继续阅读xtuner源代码

关键问题

  • python是怎么做到与数据库进行连接的?
  • 是怎么构造特征表示的?
  • 是怎么进行性能评估的?

    recommend_knobs解析

  • Knob类:
    包含如下参数,该类封装了一个knob参数,以及相关信息
    recommend: The knob value recommended by knob recommendation.
    current: Normalized current value.
    original: Str type. A setting value from `pg_settings` or user's configuration.
    min: Optional. Int, float type.
    max: Optional. Int, float type.
    type: String type. Constrained by Knob.TYPE.
    restart: Boolean type.
    
  • RecommendedKnobs类:
    包含一个Knob集合,其中分为两类,_need_tune_knobs与_only_report_knobs,含义如名称所示。此外,该类负责格式化输出等任务。
  • OpenGaussKnobAdvisor类:
    重要的针对OpenGauss数据库的参数推荐!
    构造需要metric参数,该参数是由recommend_knobs函数的参数传入
    recommend_knobs函数的参数为db_agent的属性构造而成。
    关于db_agent的属性与方法将在后面分析。
    all_properties函数:返回所有属性(参数)。这些属性都以函数的形式定义在类中,其中在tune_knobs中的归类为tune_list,否则归类为recommend_list.

db_agent解析

  • metric属性:
    初始化时由OpenGaussMetric构造函数构建,为一个OpenGaussMetric类

db_env解析

0706

centos

关于设置centos用户密码:sudo passwd postgres

详细的postgresql安装与benchmarksql测试过程记录

安装

  • gitweb页面:https://git.postgresql.org/gitweb/?p=postgresql.git;a=summary
  • 源码下载:git clone git://git.postgresql.org/git/postgresql.git
  • git checkout REL_13_STABLE 对应版本
  • 编译
    • 编译指令 ./configure –enable-thread-safety –enable-debug // –prefix=/opt/pgsql –with-pgport=5432 –with-blocksize=16 –with-wal-blocksize=16
    • 可选项:with-pgport为默认端口号,默认值为5432
    • 编译:gmake world
    • 安装:gmake install-world

      用户配置

  • 用户组及用户名
    • groupadd postgres
    • useradd -g postgres postgres
    • passwd postgres (后面根据提示设置密码)
  • 创建数据目录并设置权限
    • mkdir -p /usr/local/pgsql/data (此为编译指令中的默认数据库目录)
    • chown -R postgres:postgres /usr/local/pgsql/data

      配置守护进程

  • vim /usr/lib/systemd/system/postgresql.service 添加如下内容
    [Unit]
    Description=PostgreSQL database server
    After=syslog.target
    After=network.target
    
    [Service]
    Type=notify
    User=postgres
    Group=postgres
    Environment=PGDATA=/data/pg/pgdata/pgsql/
    OOMScoreAdjust=-1000
    Environment=PG_OOM_ADJUST_FILE=/proc/self/oom_score_adj
    Environment=PG_OOM_ADJUST_VALUE=0
    ExecStart=/opt/pgsql/bin/postmaster -D ${PGDATA}
    ExecReload=/bin/kill -HUP $MAINPID
    KillMode=mixed
    KillSignal=SIGINT
    TimeoutSec=0
    
    [Install]
    WantedBy=multi-user.target
    

    环境变量配置

  • [postgres@localhost ~]$ vim ./.bash_profile 修改为
    # .bash_profile
    
    # Get the aliases and functions
    if [ -f ~/.bashrc ]; then
            . ~/.bashrc
    fi
    
    # User specific environment and startup programs
    
    PATH=$PATH:$HOME/.local/bin:$HOME/bin
    
    export PATH
    # 后面为添加字段
    export PGHOME=/usr/local/pgsql
    export PATH=$PGHOME/bin:$PATH
    export PGDATA=/usr/local/pgsql/data
    export MANPATH=$PGHOME/share/man:$MANPATH
    export LANG=en_US.utf8
    export DATE='date+"%Y-%m-%d %H:%M:%S"'
    export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH
    export PGHOST=localhost
    export PGUSER=postgres
    # export PGDATABASE=postgres
    export PGPORT=5432
    
  • [postgres@localhost ~]$ source .bash_profile 生效
  • [postgres@localhost ~]$ psql -V 测试

    数据库启动与初始化

  • 参数文件pg_hba.conf,修改以设置host
  • initdb -D $PGDATA -E UTF8 –locale=C -U postgres -W 初始化
  • pg_ctl start -D $PGDATA -l pgsql.log 启动
  • postgres=# ALTER USER postgres WITH encrypted PASSWORD ‘postgres’; 修改数据库密码
  • 退出 pg_ctl stop -D $PGDATA

benchmarksql测试过程

  • https://blog.csdn.net/international24/article/details/83574367

    0707

    xtuner源码阅读

简单的postgresql参数调优

关于host的问题

https://www.jianshu.com/p/f246dc45e6dc 连接postgresql的一篇博客

linux硬盘空间管理

0708

HOST参数的问题以及脚本实现ssh连接

0709

强化学习算法

调优过程