【性能测试】数据库优化

数据库优化

1. Oracle
1)查询和修改数据库最大连接数

查看当前的数据库连接数:
select count(*) from v$process;  
数据库允许的最大连接数:
select value from v$parameter where name ='processes';
修改数据库最大连接数:
----设置数据库最大连接数为2000  
alter system set processes=2000 scope = spfile;   
----关闭/重启数据库  
SQL> shutdown immediate  
SQL> startup 

  1. 优化SGA和PGA大小
    Ø SGA: System Global Area是Oracle Instance的基本组成部分,在实例启动时分配;系统全局域SGA主要由三部分构成:共享池、数据缓冲区、日志缓冲区。
    Ø PGA: Process Global Area是为每个连接到Oracle database的用户进程保留的内存。
    SGA的大小:一般物理内存20%用作操作系统保留,其他80%用于数据库。
    SGA普通数据库可以分配40%-60%之间,PGA可以分配20%-40%之间。
1、以dba身份登录
并查看SGA信息:
SQL>show parameter sga;
查看PGA信息:
SQL>show parameter pga2、修改sga_target
SQL>alter system set sga_target=436M;
3、修改sga_max_size
SQL> alter system set sga_max_size=436M scope=spfile;
4、重启数据库使其生效:
SQL>shutdown immediate;
##注意,重启前一定先完成上述两部操作,且sga_target不得大于sga_max_size,一般保持两者相等。否则可能导致数据库无法启动。
SQL>startup
5、查看SGA是否生效:
SQL>show parameter sga

  1. 优化缓冲区高速缓存
1、	增大缓存大小
----检查当前缓存大小  
SELECT name, value FROM v$parameter WHERE name LIKE%buffer%’;    
----修改缓存大小  
ALTER SYSTEM SET db_cache_size = 200M scope = both; 
2、	增大重做日志缓存大小
----检查当前重做日志缓存的大小  
SELECT name, value FROM v$parameter WHERE name LIKE%log_buffer%’;    
----修改重做日志缓存的大小  
ALTER SYSTEM SET log_buffer = 200M scope = both;

2. 数据库配置文件

  1. 数据库配置文件\WEB-INF\classes\datasource.properties中最大连接数默认是20,建议修改为200
    【性能测试】数据库优化_第1张图片
    2)配置了maxWait之后,缺省启用公平锁,并发效率会有所下降,如果需要可以通过配置useUnfairLock属性为true使用非公平锁。
    在spring-jdbc.xml里加

你可能感兴趣的:(数据库,性能优化,oracle)