数据库
lykops
开发运维项目有
lykchat:https://github.com/lykops/lykchat/
lykops:https://github.com/lykops/lykops/
展开
-
Postgres间隔大量写IO的解决办法
概述为了保证数据可靠性,同时还要保证好的读写性能,以及读写的一致性,经过多年的积累,REDO日志,shared buffer等基本成为关系型数据库的标配。postgres也不例外。为了保证数据的可靠性,通常在将脏页面写入硬盘前,先将wal日志先写入硬盘,然后将修改的数据异步分批写入。为了保证好的读写性能,修改的数据先写到shared buffer中,而不是直接写入硬盘,因为原创 2017-12-19 17:03:41 · 2405 阅读 · 0 评论 -
postgres--wal
WAL机制持久性指事务提交后对系统的影响必须是永久的,即使系统意外宕机,也必须确保事务修改的数据已真正永久写入到永久存储中。最简单的实现方法,是在事务提交后立即将修改的数据写到磁盘。但磁盘和内存之间的IO操作是最影响数据库性能的。WAL(Write Ahead Logging),预写日志,即在数据修改后写到磁盘前,先把日志写到磁盘。确保重做日志时可以恢复事务的一致性状态,而原创 2017-12-29 17:26:10 · 669 阅读 · 0 评论 -
PostgreSQL配置文件--WAL
3 WAL WRITE AHEAD LOG3.1 Settings3.1.1 fsync字符串默认: fsync = on 设置同步方式 强制把数据同步更新到磁盘因为系统的IO压力很大,为了更好的测试其他配置的影响,把改参数改为off3.1.2 wal_level字符型默认: wal_level = replica原创 2017-12-14 17:43:19 · 2946 阅读 · 0 评论 -
postgres--流复制
配置master 192.168.2.21 5432slave 192.168.2.22 5432目录 /var/lib/pgsql/10/data/配置主库配置用户psqlcreate role rep login replication encrypted password '1qaz2wsx'; 配置访问权限 pg_hba.conf原创 2018-01-04 18:07:09 · 1061 阅读 · 0 评论 -
postgres--vacuum
vacuum的功能回收空间数据库总是不断地在执行删除,更新等操作。良好的空间管理非常重要,能够对性能带来大幅提高。postgresql中执行delete操作后,表中的记录只是被标示为删除状态,并没有释放空间,在以后的update或insert操作中该部分的空间是不能够被重用的。在postgresql中用于维护数据库磁盘空间的工具是VACUUM,其重要的作用是删除那些已经原创 2017-12-26 17:53:50 · 2074 阅读 · 0 评论 -
PostgreSQL配置文件--资源使用(除WAL外)
2 资源使用(除WAL外) RESOURCE USAGE (except for WAL)2.1 内存 Memory2.1.1 shared_buffers数字型默认: shared_buffers = 128MB ,最小值128KB,建议为总内存大小的1/4重启数据库生效数据库的共享内存大小影响postgresql性能的重要参数之一通过shared_buffers和内核和磁原创 2017-12-14 17:04:21 · 565 阅读 · 0 评论 -
PostgreSQL配置文件--其他
9 CLIENT CONNECTION DEFAULTS9.1 Statement Behavior9.1.1 search_path字符型默认:search_path = '"$user", public'当以用户登录数据库时,默认先查找哪些数据库。"$user"表示同用户名9.1.2 default_tablespace字符型默认:default_tablespa原创 2017-12-15 16:19:15 · 639 阅读 · 0 评论 -
PostgreSQL配置文件--AUTOVACUUM参数
8 AUTOVACUUM参数 AUTOVACUUM PARAMETERS8.1 autovacuum字符型默认: autovacuum = on Enable autovacuum subprocess? 'on' ,requires track_counts to also be on.表示是否开起autovacuum。特别的,当需要原创 2017-12-15 16:13:56 · 730 阅读 · 0 评论 -
PostgreSQL配置文件--实时统计
7 实时统计 RUNTIME STATISTICS7.1 Query/Index Statistics Collector下面的参数控制是否搜集特定的数据库运行统计数据7.1.1 track_activities布尔值默认: track_activities = on是否收集每个会话的当前正在执行的命令的统计数据,包括命令开始执行的时间。7.1.2 track_cou原创 2017-12-15 16:08:29 · 677 阅读 · 0 评论 -
PostgreSQL配置文件--日志和错误
6 错误操作和日志 ERROR REPORTING AND LOGGING6.1 日志写到哪里 Where to Log6.1.1 log_destination字符串默认: log_destination = 'stderr' , stderr, csvlog, syslog, and eventlog四选一6.1.2 log_directory字符串默认: log_d原创 2017-12-14 18:22:11 · 2543 阅读 · 0 评论 -
PostgreSQL配置文件--复制
4 复制 REPLICATION4.1 Sending Server(s)4.1.1 max_wal_senders数字型默认: max_wal_senders = 10 , 为0表示启用流复制功能。重启数据库生效在主机(master)设置,是从机连接到master的并发连接数之和。该并发连接数从进程上看,就是各个wal sender进程数之和。该值不能超过系统的最大连接数(原创 2017-12-14 17:50:42 · 505 阅读 · 0 评论 -
PostgreSQL配置文件--QUERY TUNING
5 QUERY TUNING5.1 Planner Method Configuration.下列参数控制查询优化器是否使用特定的存取方法。除非对优化器特别了解,一般情况下,使用它们默认值即可。5.1.1 enable_bitmapscan布尔型默认: enable_bitmapscan = on打开或者关闭规划器对位图扫描规划类型的使用。5.1.2 enable_h原创 2017-12-14 17:58:54 · 592 阅读 · 0 评论 -
PostgreSQL配置文件--连接和认证
1 连接和认证 CONNECTIONS AND AUTHENTICATION1.1 连接 CONNECTIONS1.1.1 listen_addresses字符型默认: listen_addresses = 'localhost'重启数据库生效指定数据库用来监听客户端连接的TCP/IP地址。值是*表示服务器上所有的IP地址上监听用户请求。可以写成机器的名字,也可以写成IP地址,原创 2017-12-14 17:02:02 · 1020 阅读 · 0 评论 -
DBA不可不知的操作系统内核参数
数据库关心的OS内核参数512GB 内存为例1.参数fs.aio-max-nr 支持系统CentOS 6, 7 参数解释aio-nr & aio-max-nr: . aio-nr is the running total of the number of events specified on the io_setup syst转载 2017-12-04 16:32:42 · 2929 阅读 · 0 评论 -
postgres10配置huge_pages
操作系统修改/boot/grub2/grub.cfg定位到第一个‘menuentry 'CentOS Linux’,在“linux16 /vmlinuz”最后面添加numa=off transparent_hugepage=never default_hugepagesz=2M hugepagesz=2M hugepages=1536*hugepagesz表示页面大小原创 2017-12-20 18:12:55 · 769 阅读 · 0 评论 -
postgresql10监控-使用EXTENSIONS模式
postgres配置需要安装postgresql10-contrib在/var/lib/pgsql/10/data/postgresql.conf最后添加shared_preload_libraries = 'pg_stat_statements'pg_stat_statements.max = 10000pg_stat_statements.track = all原创 2018-01-17 15:39:19 · 684 阅读 · 0 评论