本周任务
- 配置并学会使用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的一篇博客