PostgreSQL 参数调整(性能优化)

进阶数据库系列(二十三):PostgreSQL 性能优化 PostgreSQL优化一方面是找出系统的瓶颈,提高PostgreSQL数据库整体的性能; 另一方面,需要合理的结构设计和参数调整,以提高用户操作响应的速度; 同时还要尽可能的节省系统资源,以便系统可以提供更大负荷的服务。 阅读详情

 

  昨天分别在外网和无外网环境下安装PostgreSQL,有外网环境下安装的相当顺利。但是在无外网环境下就是两个不同的概念了,可谓十有八折。感兴趣的同学可以搭建一下。

PostgreSQL安装完成后第一件事便是做相关测试,然后调整参数。

复制代码

/*CPU
查看CPU型号*/
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

/*查看物理CPU个数*/
cat /proc/cpuinfo | grep "physical id" | sort -u | wc -l  

/*查看逻辑CPU个数*/
cat /proc/cpuinfo | grep "processor" | wc -l  

/*查看CPU内核数*/
cat /proc/cpuinfo | grep "cpu cores" | uniq  

/*查看单个物理CPU封装的逻辑CPU数量*/
cat /proc/cpuinfo | grep "siblings" | uniq  

/*计算是否开启超线程
##逻辑CPU > 物理CPU x CPU核数 #开启超线程
##逻辑CPU = 物理CPU x CPU核数 #没有开启超线程或不支持超线程*/

/*查看是否超线程,如果cpu cores数量和siblings数量一致,则没有启用超线程,否则超线程被启用。*/
cat /proc/cpuinfo | grep -e "cpu cores"  -e "siblings" | sort | uniq


/*内存
TOP
/*命令经常用来监控linux的系统状况,比如cpu、内存的使用等。*/
/*查看某个用户内存使用情况,如:postgres*/
top -u postgres
/*
内容解释:

  PID:进程的ID
  USER:进程所有者
  PR:进程的优先级别,越小越优先被执行
  NInice:值
  VIRT:进程占用的虚拟内存
  RES:进程占用的物理内存
  SHR:进程使用的共享内存
  S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
  %CPU:进程占用CPU的使用率
  %MEM:进程使用的物理内存和总内存的百分比
  TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
  COMMAND:进程启动命令名称

常用的命令:

  P:按%CPU使用率排行
  T:按MITE+排行
  M:按%MEM排行
*/

/*查看进程相关信息占用的内存情况,(进程号可以通过ps查看)如下所示:*/
pmap -d 14596

ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' 
ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep postgres |  sort -nrk5
/*其中rsz为实际内存,上例实现按内存排序,由大到小*/

/*看内存占用*/
free -m

/*看硬盘占用率*/
df -h
/*查看IO情况*/
iostat -x 1 10
/*
如果 iostat 没有,要 yum install sysstat安装这个包,第一眼看下图红色圈圈的那个如果%util接近100%,表明I/O请求太多,I/O系统已经满负荷,磁盘可能存在瓶颈,一般%util大于70%,I/O压力就比较大,读取速度有较多的wait,然后再看其他的参数,
内容解释:
rrqm/s:每秒进行merge的读操作数目。即delta(rmerge)/s 
wrqm/s:每秒进行merge的写操作数目。即delta(wmerge)/s 
r/s:每秒完成的读I/O设备次数。即delta(rio)/s 
w/s:每秒完成的写I/0设备次数。即delta(wio)/s 
rsec/s:每秒读扇区数。即delta(rsect)/s 
wsec/s:每秒写扇区数。即delta(wsect)/s 
rKB/s:每秒读K字节数。是rsec/s的一半,因为每扇区大小为512字节 

wKB/s:每秒写K字节数。是wsec/s的一半 
avgrq-sz:平均每次设备I/O操作的数据大小(扇区)。即delta(rsect+wsect)/delta(rio+wio) 
avgqu-sz:平均I/O队列长度。即delta(aveq)/s/1000(因为aveq的单位为毫秒) 
await:平均每次设备I/O操作的等待时间(毫秒)。即delta(ruse+wuse)/delta(rio+wio) 
svctm:平均每次设备I/O操作的服务时间(毫秒)。即delta(use)/delta(rio+wio) 
%util:一秒中有百分之多少的时间用于I/O操作,或者说一秒中有多少时间I/O队列是非空的

*/
/*找到对应进程*/
ll /proc/进程号/exe

复制代码

 

了解到系统情况后便可做相关合理的调整,以达到性能优化的目的。

 

1.shared_buffers
PostgreSQL既使用自身的缓冲区,也使用内核缓冲IO。这意味着数据会在内存中存储两次,首先是存入PostgreSQL缓冲区,然后是内核缓冲区。这被称为双重缓冲区处理。对大多数操作系统来说,这个参数是最有效的用于调优的参数。此参数的作用是设置PostgreSQL中用于缓存的专用内存量。
shared_buffers的默认值设置得非常低,因为某些机器和操作系统不支持使用更高的值。但在大多数现代设备中,通常需要增大此参数的值才能获得最佳性能。
建议的设置值为机器总内存大小的25%,但是也可以根据实际情况尝试设置更低和更高的值。实际值取决于机器的具体配置和工作的数据量大小。举个例子,如果工作数据集可以很容易地放入内存中,那么可以增加shared_buffers的值来包含整个数据库,以便整个工作数据集可以保留在缓存中。
在生产环境中,将shared_buffers设置为较大的值通常可以提供非常好的性能,但应当时刻注意找到平衡点。
查看当前shared_buffers的值:

postgres=# show shared_buffers;
 shared_buffers 
----------------
 128MB
(1 row)

2.wal_buffers

PostgreSQL将其WAL(预写日志)记录写入缓冲区,然后将这些缓冲区刷新到磁盘。由wal_buffers定义的缓冲区的默认大小为16MB,但如果有大量并发连接的话,则设置为一个较高的值可以提供更好的性能。
查看当前wal_buffers的值:

postgres=# show wal_buffers;
 wal_buffers 
-------------
 4MB
(1 row)

 

3.effective_cache_size

effective_cache_size提供可用于磁盘高速缓存的内存量的估计值。它只是一个建议值,而不是确切分配的内存或缓存大小。它不会实际分配内存,而是会告知优化器内核中可用的缓存量。在一个索引的代价估计中,更高的数值会使得索引扫描更可能被使用,更低的数值会使得顺序扫描更可能被使用。在设置这个参数时,还应该考虑PostgreSQL的共享缓冲区以及将被用于PostgreSQL数据文件的内核磁盘缓冲区。默认值是4GB。
查看当前effective_cache_size的值:

postgres=# show effective_cache_size;
 effective_cache_size 
----------------------
 4GB
(1 row)


4.work_mem

此配置用于复合排序。内存中的排序比溢出到磁盘的排序快得多,设置非常高的值可能会导致部署环境出现内存瓶颈,因为此参数是按用户排序操作。如果有多个用户尝试执行排序操作,则系统将为所有用户分配大小为work_mem *总排序操作数的空间。全局设置此参数可能会导致内存使用率过高,因此强烈建议在会话级别修改此参数值。默认值为4MB。
查看当前work_mem的值:

postgres=# show work_mem;
 work_mem 
----------
 4MB
(1 row)

 

5.maintenance_work_mem
maintenance_work_mem是用于维护任务的内存设置。默认值为64MB。设置较大的值对于VACUUM,RESTORE,CREATE INDEX,ADD FOREIGN KEY和ALTER TABLE等操作的性能提升效果显著。
查看当前maintenance_work_mem的值:

postgres=# show maintenance_work_mem;
 maintenance_work_mem 
----------------------
 64MB
(1 row)

 

6.synchronous_commit

此参数的作用为在向客户端返回成功状态之前,强制提交等待WAL被写入磁盘。这是性能和可靠性之间的权衡。如果应用程序被设计为性能比可靠性更重要,那么关闭synchronous_commit。这意味着成功状态与保证写入磁盘之间会存在时间差。在服务器崩溃的情况下,即使客户端在提交时收到成功消息,数据也可能丢失。
查看当前synchronous_commit的设置值:

postgres=# show synchronous_commit;
 synchronous_commit 
--------------------
 on
(1 row)

 

7.checkpoint_timeout和checkpoint_completion_target
PostgreSQL将更改写入WAL。检查点进程将数据刷新到数据文件中。发生CHECKPOINT时完成此操作。这是一项开销很大的操作,整个过程涉及大量的磁盘读/写操作。用户可以在需要时随时发出CHECKPOINT指令,或者通过PostgreSQL的参数checkpoint_timeout和checkpoint_completion_target来自动完成。
checkpoint_timeout参数用于设置WAL检查点之间的时间。将此设置得太低会减少崩溃恢复时间,因为更多数据会写入磁盘,但由于每个检查点都会占用系统资源,因此也会损害性能。此参数只能在postgresql.conf文件中或在服务器命令行上设置。
checkpoint_completion_target指定检查点完成的目标,作为检查点之间总时间的一部分。默认值是 0.5。 这个参数只能在postgresql.conf文件中或在服务器命令行上设置。高频率的检查点可能会影响性能。
查看当前checkpoint_timeout和checkpoint_completion_target的值:

1

2

3

4

5

6

7

8

9

10

11

postgres=# show checkpoint_timeout;

 checkpoint_timeout

--------------------

 5min

(1 row)

 

postgres=# show checkpoint_completion_target;

 checkpoint_completion_target

------------------------------

 0.5

(1 row)

 

8.max_connections

允许客户端连接的最大数目

 

9.fsync

强制把数据同步更新到磁盘,如果系统的IO压力很大,把改参数改为off

在fsync打开的情况下,优化后性能能够提升30%左右。因为有部分优化选项在默认的SQL测试语句中没有体现出它的优势,如果到实际测试中,提升应该不止30%。
测试的过程中,主要的瓶颈就在系统的IO,如果需要减少IO的负荷,最直接的方法就是把fsync关闭,但是这样就会在掉电的情况下,可能会丢失部分数据。
 

10.commit_delay

事务提交后,日志写到wal log上到wal_buffer写入到磁盘的时间间隔。需要配合commit_sibling。能够一次写入多个事务,减少IO,提高性能

 

11.commit_siblings

设置触发commit_delay的并发事务数,根据并发事务多少来配置。减少IO,提高性能

注意:
并非所有参数都适用于所有应用程序类型。某些应用程序通过调整参数可以提高性能,有些则不会。必须针对应用程序及操作系统的特定需求来调整数据库参数。

 下面介绍几个我认为重要的:

1、增加maintenance_work_mem参数大小

  增加这个参数可以提升CREATE INDEX和ALTER TABLE ADD FOREIGN KEY的执行效率。

 

2、增加checkpoint_segments参数的大小

  增加这个参数可以提升大量数据导入时候的速度。

 

3、设置archive_mode无效

  这个参数设置为无效的时候,能够提升以下的操作的速度

  ・CREATE TABLE AS SELECT

  ・CREATE INDEX

  ・ALTER TABLE SET TABLESPACE

  ・CLUSTER等。

 

4、autovacuum相关参数 (autovacuum介绍文章)

autovacuum:默认为on,表示是否开起autovacuum。默认开起。特别的,当需要冻结xid时,尽管此值为off,PG也会进行vacuum。 

autovacuum_naptime:下一次vacuum的时间,默认1min。 这个naptime会被vacuum launcher分配到每个DB上。autovacuum_naptime/num of db。 

log_autovacuum_min_duration:记录autovacuum动作到日志文件,当vacuum动作超过此值时。 “-1”表示不记录。“0”表示每次都记录。 

autovacuum_max_workers:最大同时运行的worker数量,不包含launcher本身。 

autovacuum_work_mem    :每个worker可使用的最大内存数。

autovacuum_vacuum_threshold    :默认50。与autovacuum_vacuum_scale_factor配合使用, autovacuum_vacuum_scale_factor默认值为20%。当update,delete的tuples数量超过autovacuum_vacuum_scale_factor*table_size+autovacuum_vacuum_threshold时,进行vacuum。如果要使vacuum工作勤奋点,则将此值改小。 

autovacuum_analyze_threshold        :默认50。与autovacuum_analyze_scale_factor配合使用。

autovacuum_analyze_scale_factor    :默认10%。当update,insert,delete的tuples数量超过autovacuum_analyze_scale_factor*table_size+autovacuum_analyze_threshold时,进行analyze。 

autovacuum_freeze_max_age:200 million。离下一次进行xid冻结的最大事务数。 

autovacuum_multixact_freeze_max_age:400 million。离下一次进行xid冻结的最大事务数。 

autovacuum_vacuum_cost_delay    :如果为-1,取vacuum_cost_delay值。 

autovacuum_vacuum_cost_limit       :如果为-1,到vacuum_cost_limit的值,这个值是所有worker的累加值。

 

PostgreSQL配置参数修改

1.修改配置文件

在配置文件C:\PostgreSQL\data\pg96\postgresql.conf 中直接修改,修改前记得备份一下原文件,因为你不知道意外和明天不知道哪个会先来。修改完成之后,记得重启数据库哦。

2.命令行的修改方式

 ALTER SYSTEM SET configuration_parameter { TO | = } { value | 'value' | DEFAULT }

 

例如:我们现在要修改 maintenance_work_mem

复制代码

--查看所有数据库参数的值
show all;


show maintenance_work_mem;
--注意这里的设置不会改变postgresql.conf,只会改变postgresql.conf
ALTER SYSTEM SET maintenance_work_mem= 1048576;

--重启数据库
show maintenance_work_mem; 

--取消postgresql.auto.conf的参数设置
ALTER SYSTEM SET maintenance_work_mem= default;

复制代码

数据库参数优化总结

复制代码

max_connections = 300       # (change requires restart)
unix_socket_directories = '.'   # comma-separated list of directories
shared_buffers = 194GB       # 尽量用数据库管理内存,减少双重缓存,提高使用效率
huge_pages = on           # on, off, or try  ,使用大页
work_mem = 256MB # min 64kB  , 减少外部文件排序的可能,提高效率
maintenance_work_mem = 2GB  # min 1MB  , 加速建立索引
autovacuum_work_mem = 2GB   # min 1MB, or -1 to use maintenance_work_mem  , 加速垃圾回收
dynamic_shared_memory_type = mmap      # the default is the first option
vacuum_cost_delay = 0      # 0-100 milliseconds   , 垃圾回收不妥协,极限压力下,减少膨胀可能性
bgwriter_delay = 10ms       # 10-10000ms between rounds    , 刷shared buffer脏页的进程调度间隔,尽量高频调度,减少用户进程申请不到内存而需要主动刷脏页的可能(导致RT升高)。
bgwriter_lru_maxpages = 1000   # 0-1000 max buffers written/round ,  一次最多刷多少脏页
bgwriter_lru_multiplier = 10.0          # 0-10.0 multipler on buffers scanned/round  一次扫描多少个块,上次刷出脏页数量的倍数
effective_io_concurrency = 2           # 1-1000; 0 disables prefetching , 执行节点为bitmap heap scan时,预读的块数。从而
wal_level = minimal         # minimal, archive, hot_standby, or logical , 如果现实环境,建议开启归档。
synchronous_commit = off    # synchronization level;    , 异步提交
wal_sync_method = open_sync    # the default is the first option  , 因为没有standby,所以写xlog选择一个支持O_DIRECT的fsync方法。
full_page_writes = off      # recover from partial page writes  , 生产中,如果有增量备份和归档,可以关闭,提高性能。
wal_buffers = 1GB           # min 32kB, -1 sets based on shared_buffers  ,wal buffer大小,如果大量写wal buffer等待,则可以加大。
wal_writer_delay = 10ms         # 1-10000 milliseconds  wal buffer调度间隔,和bg writer delay类似。
commit_delay = 20           # range 0-100000, in microseconds  ,分组提交的等待时间
commit_siblings = 9        # range 1-1000  , 有多少个事务同时进入提交阶段时,就触发分组提交。
checkpoint_timeout = 55min  # range 30s-1h  时间控制的检查点间隔。
max_wal_size = 320GB    #   2个检查点之间最多允许产生多少个XLOG文件
checkpoint_completion_target = 0.99     # checkpoint target duration, 0.0 - 1.0  ,平滑调度间隔,假设上一个检查点到现在这个检查点之间产生了100个XLOG,则这次检查点需要在产生100*checkpoint_completion_target个XLOG文件的过程中完成。PG会根据这些值来调度平滑检查点。
random_page_cost = 1.0     # same scale as above  , 离散扫描的成本因子,本例使用的SSD IO能力足够好
effective_cache_size = 240GB  # 可用的OS CACHE
log_destination = 'csvlog'  # Valid values are combinations of
logging_collector = on          # Enable capturing of stderr and csvlog
log_truncate_on_rotation = on           # If on, an existing log file with the
update_process_title = off
track_activities = off
autovacuum = on    # Enable autovacuum subprocess?  'on'
autovacuum_max_workers = 4 # max number of autovacuum subprocesses    ,允许同时有多少个垃圾回收工作进程。
autovacuum_naptime = 6s  # time between autovacuum runs   , 自动垃圾回收探测进程的唤醒间隔
autovacuum_vacuum_cost_delay = 0    # default vacuum cost delay for  , 垃圾回收不妥协

复制代码

【PostgreSQL】性能飞跃:PostgreSQL性能调优与优化策略 通用搜索树(GiST)索引是一种灵活的索引类型,支持多种数据类型和查询类型,包括全文搜索、空间数据查询等。它适用于地理信息系统(GIS)应用、全文搜索等场景,虽然查询效率可能不如特化索引(如 GIN 索引对于全文检索),但其广泛的适用性使其成为处理复杂查询的理想选择。GiST索引通过支持多种查询操作符类,允许用户定义特定的查询条件,从而提高查询效率。适用于那些经常执行精确匹配且不需要排序的场景,但要注意,如果索引列有大量重复值,Hash 索引的效率会降低。解读查询计划,识别慢查询的瓶颈,如全表扫描。 阅读详情

相关推荐

PostgreSQL 部署及配置参数优化与常见问题汇总

本文全面介绍了PostgreSQL数据库的部署、配置优化与运维管理方案。内容涵盖单机二进制/源码安装、主从集群部署指导,重点讲解了关键参数调优(内存、WAL、并行查询等)和性能优化技巧(索引策略、查询优化、表分区)。针对常见问题如性能下降、连接耗尽、数据库膨胀等提供了具体解决方案,并详细阐述了物理/逻辑备份恢复策略。最后给出了安全配置建议,包括密码策略、网络访问控制、审计日志和SSL加密设置。文章还包含监控指标说明和定期维护任务清单,为构建高可用、高性能的PostgreSQL数据库环境提供了完整的技术参考。

weixin_47253479的博客 1110

为PostgreSQL配置work_mem

     work_mem也许是Postgres中最令人困惑的参数。work_mem用于确定在某些操作期间可以使用多少内存。从表面上看,work_mem的设置似乎很简单,毕竟,work_mem只需指定将数据写入磁盘之前内部排序操作和哈希表可用的内存量。然而,如果不去配置work_mem可能会带来许多问题。但是,更令人不安的是,当您在数据库中收到内存不足的错误并跳出调整work_mem时,只是因为它...

lk的窝 6584

PostgreSQL:十五. 性能优化

十五. 性能优化 优化简介: PostgreSQL优化一方面是找出系统的瓶颈,提高PostgreSQL数据库整体的性能; 另一方面,需要合理的结构设计和参数调整,以提高用户操作响应的速度; 同时还要尽可能的节省系统资源,以便系统可以提供更大负荷的服务。 PostgreSQL数据库优化是多方面的,原则是减少系统的瓶颈,减少资源的占用,增加系统的反应速度。例如: 通过优化文件系统,提高磁盘IO的读写速度; 通过优化操作系统调度策略,提高PostgreSQL的在高负荷情况下负载能力; 优化表结构、索引、查询

数据知道的博客 4万+

postgresql参数优化

max_parallel_workers 定义了数据库可以使用的并行查询工作者的最大数量。通过适当配置这个参数,可以根据系统的硬件资源来控制并行查询的规模。log_statement:该参数值为 "all"表示记录所有查询类型(SELECT、INSERT、UPDATE、DELETE),比较占用空间,且性能会降低,因此建议将其设置为ddl,只记录修改表结构的sql。这个参数是设置执行最小多长时间的SQL输出到log,例如输出执行超过2秒的SQL。:设置查询的最小持续时间,以毫秒为单位。该值默认是128M。

雅冰石的专栏 2190

PostgreSQL性能优化:针对高写入业务的参数调整(Vacuum调优)

PostgreSQL在高写入场景下,MVCC机制会积累大量死亡元组,导致表膨胀、性能下降等问题。本文深入解析autovacuum工作机制,提出针对高写入负载的优化方案:通过调整全局参数(如降低scale_factor至0.01、增加max_workers至5-10)和表级参数覆盖,实现更早触发清理;合理配置冻结参数防止事务ID回卷;平衡I/O资源使用,建议SSD存储并分离WAL日志;提供关键监控视图和膨胀率计算方法。通过精细化调优,可有效解决高写入场景下的autovacuum滞后问题,保障系统稳定运行。

数据知道的博客 2607

从零组装一台会‘看’的无人机:手把手教你配置NUC机载电脑与D435深度相机(环境搭建篇)

本文详细介绍了如何从零开始组装一台具备视觉能力的智能无人机,重点讲解了NUC机载电脑与D435深度相机的配置方法。通过Ubuntu系统安装、ROS环境搭建、深度学习框架配置等步骤,帮助开发者实现无人机的自主避障和目标跟踪功能。文章还提供了性能优化和常见问题解决方案,是无人机视觉系统开发的实用指南。

weixin_30915275的博客 399

pg高性能服务器,PostgreSQL 性能优化之服务器参数配置操作

大家好!我是只谈技术不剪发的 Tony 老师。今天我们来聊聊 PostgreSQL 的性能优化;数据库优化是一个系统的工程,本文只专注于服务器的参数配置优化。默认安装时,PostgreSQL 的配置参数通常都偏小,不太适合作为生产服务器使用。所以,安装 PostgreSQL 数据库之后首先需要执行的操作就是对服务器的配置参数进行调整。查看/设置参数值我们使用 PostgreSQL 12,服务器的配...

weixin_42411799的博客 1230

【电路设计】带阻滤波器实战:从理论到Twin-T陷波电路实现

本文详细介绍了带阻滤波器的原理与Twin-T陷波电路的实战应用,从基础概念到工程实现全面解析。通过具体案例展示如何设计高Q值滤波器,解决电源噪声等实际问题,并分享PCB布局和元件选型的实用技巧,助力工程师提升电路设计能力。

gg901的博客 1024

PostgreSQL 性能优化--参数的配置

PostgreSQL的配置参数作为性能调优的一部分,起着重要的位置。有时候一个简单的配置参数就会觉得应用的性能。因此有必要简单了解下其相关的配置参数。 查询Linux服务器配置 在进行性能调优之前,需要清楚知道服务器的配置信息,比如说 CPU,内存,服务器版本等信息。 查询系统版本信息: cat /etc/redhat-release Scientific Linux rele...

Alan Zhuang的博客 4427

从零到一:基于Docker与OSM数据构建Valhalla路径规划服务及Mapbox风格可视化

本文详细介绍了如何从零开始,基于Docker容器技术快速部署开源的Valhalla路径规划服务。通过获取免费的OSM地图数据并构建路网,最终实现服务调用与Mapbox风格的地图可视化,为出行应用原型开发或本地化路径规划服务提供了一套完整、高效的实践方案。

weixin_29297127的博客 166

医学超声影像研究——从拒稿到录用:我的UMB投稿实战复盘

本文分享了作者将一篇关于超声影像中肿瘤传统分类方法的研究论文,从被其他期刊拒稿到最终被《Ultrasound in Medicine & Biology》录用的完整实战经验。文章详细复盘了心态调整、精准选刊、针对UMB期刊的稿件精修、投稿系统操作细节以及与审稿人有效沟通回复的全过程,为医学影像领域的科研工作者提供了宝贵的投稿策略与实操指南。

stem5的博客 493

PostgreSQL 性能优化之服务器参数配置

介绍如何通过 PostgreSQL 服务器的参数优化数据库的性能,包括查看参数设置的 SHOW 命令、pg_settings 视图、以及设置参数的各种方式。同时介绍了 max_connections、shared_buffers、wal_buffers、effective_cache_size、work_mem 以及 maintenance_work_mem 几个重要的参数。

Tony.Dong的专栏 5358

setoolkit克隆网站获取用户信息

一、环境 kali、DVWA 二、步骤 首先打开kali,输入setoolkit 依次选择选项1-选项2-选项3-选项2 输入钓鱼网站的网址(默认为本地网址) 输入要克隆的网址URL 这里我的网址如图,将网址复制 然后模拟攻击场景,攻击者向受害者发送了一条钓鱼链接,此链接与DVWA的登陆页面完全一样,受害者点击之后并进行登陆信息 点击login之后,用户信息就被setool...

BeatRex的博客 2998

PostgreSQL 性能优化

PostgreSQL性能优化 http://blog.sina.com.cn/s/blog_681cd80d0100md5o.html 每次看postgresql的设定,好像每次都忘记。过一段时间又要看。今天终于决定,开始blog吧。postgresql 优化与维护1. 硬件数据库最重要的就是 I/O了。所以一切从I/O开始。RAID: 这个基本不用说,数据库放RAID10上...

weixin_33888907的博客 698

ADI DSP开发环境(CCES)下的程序烧录问题(以ADSP-SC589为例)

在CCES环境下将程序烧录到flash主要有两种方式。首先在对项目编译产生文件的属性设置为Release。 在编译完成后,找到每个CORE单独生成的DXE文件: 文件通常位于项目目录下每个core的Release文件中。安装SC589评估板的驱动(ADSP-SC5xx_EZ-KIT_Lite-Rel2.0.0.exe)后,在安装目录下可以找到SPI FLASH芯片的驱动程序(sc589_w25q128fv_dpia_Core1.dxe): 把文件copy到CCES 的目录下由于SC58x处理器的特殊性

daijingxin的博客 3731

MobaXterm详细使用教程

当然MobaXterm的功能远不止这些,但这些是最基本,最常用的,因此先拿出来讲。点击确定后,输入密码(输入密码时并不会显示,只管输入后按确定即可,第一次登陆成功后会提示保存密码,一般选择同意),就可以连接上虚拟机了。(2) 我们可以直接apt-get安装vim等常用功能(或者官网下载插件),实现在windows下模拟linux环境,这样就可以使用vi命令准备INCAR文件,也可以使用Gnuplot进行绘图。支持 Unix 命令(bash,ls,cat,sed,grep,awk,rsync,…

博客 4万+

Postgresql-11.X 性能优化详解

postgres 性能优化 系统优化 修改 /etc/grub.conf 关闭 numa=off ,修改磁盘IO调度方式 elevator=deadline 修改方法: grubby --update-kernel=ALL --args="transparent_hugepage=never" --args="elevator=deadline" 验证: grubby --info=ALL...

无锋剑 1107

(ZOS-API)Matlab控制ZEMAX软件调整光学系统某镜面位姿

所用软件的版本:MatlabR2022a, Zemax OpticStudio2024R1交互扩展功能,Zemax和可以同时打开,操作会比较方便在ZEMAX软件中,调整次镜位置通常有两种方法:1.在次镜前后各添加一个坐标间断面,并修改其“偏心X”“偏心Y”等参数来调整次镜的位姿;2.或者直接在次镜属性选项中设置相关数值。这两种方法对Zernike系数的采集结果无显著影响。

ecilifurt的博客 912

Patroni动态配置更新:无需重启PostgreSQL集群的参数调整

数据库运维中最棘手的问题之一是参数调整需要重启服务,这会导致业务中断。Patroni通过动态配置功能解决了这一痛点,允许管理员在不重启PostgreSQL集群的情况下更新关键参数。本文将详细介绍如何利用Patroni的动态配置机制实现零停机参数调整,包括核心配置项说明、操作步骤及最佳实践。 ## 动态配置的工作原理 Patroni的动态配置存储在DCS(分布式配置存储)中,集群所有节点会自动同...

gitblog_00150的博客 997

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

PostgreSQL -- 性能优化的小方法

一、回收磁盘空间 在PostgreSQL中,使用delete和update语句删除或更新的数据行并没有被实际删除,而只是在旧版本数据行的物理地址上将该行的状态置为已删除或已过期。因此当数据表中的数据变化极为频繁时,那么在一段时间之后该表所占用的空间将会变得很大,然而数据量却可能变化不大。要解决该问题,需要定期对数据变化频繁的数据表执行VACUUM操作。现在新版PostgreSQL是自动执行VACU...

qq_39783774的博客 2824

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

postgresql调优一:postgresql参数调优

   1。pg中性能相关常调参数      参数名称 参数意义 优化思路 shared_buffers 数据库服务器将使用的共享内存缓冲区大小,该缓冲区为所有连接共用。从磁盘读入的数据(主要包括表和索引)都缓存在这里。 提高该值可以减少数据库的磁盘IO。 work_mem 声明内部排序和哈希操作可使用的工作内存大小。该内存是在开始使用临时磁盘文件之前使用的内...

mydownloador的博客 1228

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

postgresql 性能优化

SELECT order_date, order_source, SUM(commodity_num) num, SUM(actual_charge) charge FROM ( SELECT to_char(oc.create_date, 'yyyyMMdd') AS order_date, (CASE WHEN oo.event_type = 'ONLINE_COMMODITY_ORDER' THE.

大鹏 3887
上一篇: Flink异步IO结合Redisson访问Redis
下一篇: PostgreSQL监控之pgwatch2
王树民
博客等级 码龄10年 912粉丝 560原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值