欢迎来到天天文库
浏览记录
ID:21677268
大小:981.00 KB
页数:43页
时间:2018-10-20
《数据库性能优化》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、性能问题探讨2009年9月架 构我们的系统部署方式虽然多种多样的,但是从整个系统架构来说,不外乎左边图所示的结构。大 纲操作系统优化网络优化数据库优化中间件优化应用优化操作系统优化目前我公司应用系统部署到的操作系统有:AIX、HP-UX、Solaris、Linux、Windows2003。操作系统引起问题的地方主要有两个方面:内核问题和资源问题。操作系统优化内核问题内核问题主要是内核参数的设置方面。这个参数主要是分为两部分:内存相关的和网络相关的。比如:我们在安装Oracle时未按照官方说明
2、,修改内存相关的内核参数,就会导致无法使用大的共享内存块。再比如,一些网络参数会影响weblogic的吞吐量。案例:适当调整udp_sendspace值网络参数udp_sendspace是UDP的发送缓存,默认值为8K,为减少I/O异常,需调整为32k。操作系统优化案例:适录调整nofiles值在东莞和南海都遇到了以下错误:3、ingfor45seconds,java.net.SocketException:Toomanyopenfiles>这个错误主要就是因为应用系统打开了太多的文件句柄。因为在Unix下,默认一个用户只能打开2000个文件句柄。一旦出现这个错误,weblogic将无法对外提供响应。这个可以通过增加资源限制中的nofiles的值来解决。资源问题Unix和Linux对每一个用户都有一个资源限制。这些限制可能包括能创建的文件大小、能同时打开的文件数量、能同时启动的进程数、能使用的最大内存等。UNIX环境中4、可以使用ulimit查看。大 纲操作系统优化网络优化数据库优化中间件优化应用优化网络优化网络的问题主要是两个方面:响应时间和吞吐量。网络优化响应时间这里的响应时间主要是查找和连接网络的时间。响应时间过长的常见原因是DNS的解析造成的。案例:DNS解析造成服务启动慢海南EIP在项目实施中,遇到服务启动很慢的问题,一个服务的启动时间需要20多分钟。后来发现系统走了DNS解析,没有走本地解析。修改为本地解析后,启动时间缩短为4分钟左右。网络优化吞吐量吞吐量主要是指网络的传输速度。这里只讨论网络设备的5、设置问题。案例:交换机传输模式影响网速由于惠州供电局交换机传输模式是“半双工自适应”,造成网速很慢,表现为我们的系统响应很慢,后改成“全双工”模式,系统响应速度明显提高,输电部、计量部、变电部登录系统时间,及不同设备界面切换时间响应在2秒以内。大 纲操作系统优化网络优化数据库优化中间件优化应用优化数据库优化目前我公司系统使用的数据库主要是Oracle。Oracle优化主要从5个方面来考虑:软件版本、内存、CPU、IO、数据库对象争用和SQL。数据库优化软件版本软件版本可以从两个方面考虑,与操作6、系统响应的版本、与版本相关的补丁。如果版本与操作系统不一致,即便能跑起来,也会产生系统问题。另外,有些版本本身有bug,这些bug可能会造成性能问题,所以需要打上补丁。一般2.4以上的版本被视为稳定版本。案例:64位机器上安装32位oracle的性能问题惠州供电局原来的数据库服务器cpu是64位,但是为了图方便,安装了32位windows2003和32位的oracle10g,造成只能使用1.7g左右的内存,对于8g内存的机器来说,很浪费。后来按照oracle给出的扩大内存的方法进行调整,依然无效7、。原因就是该机器cpu是64位的。后来改装64位windows2003和64位oracle10g,性能提高了几倍。数据库优化内存优化一般Oracle建议将操作系统物理内存的70%分配给它。比如,物理内存是8G,则分配给Oracle的内存就是5.6G。Oracle的内存主要分两块:SGA和PGA。按照70%的物理内存来划分,则是:SGA为60%,PGA为10%。案例:内存设置太小造成性能问题有人反映,他的系统很慢,感觉主要是数据库慢。连上去看他的数据库,发现SGA只有300M,PGA只有几十M。按8、照70%的比例进行调整后,发现数据库性能明显提高,相应的系统吞吐量也大幅提高。数据库优化CPU优化这里把Oracle中的Processes归为CPU方面,其实也不准确。主要是考虑到它们和CPU的利用率有关。Processes参数表明允许同时运行的最大服务器进程数。在独占式连接模式下,一个Session就启动一个Process,你也可以认为建立一个JDBC连接就启动一个Process。案例:Processes设置太小造成性能问题如果Weblogic中JDBC连接池需要建立的连接数大于Process
3、ingfor45seconds,java.net.SocketException:Toomanyopenfiles>这个错误主要就是因为应用系统打开了太多的文件句柄。因为在Unix下,默认一个用户只能打开2000个文件句柄。一旦出现这个错误,weblogic将无法对外提供响应。这个可以通过增加资源限制中的nofiles的值来解决。资源问题Unix和Linux对每一个用户都有一个资源限制。这些限制可能包括能创建的文件大小、能同时打开的文件数量、能同时启动的进程数、能使用的最大内存等。UNIX环境中
4、可以使用ulimit查看。大 纲操作系统优化网络优化数据库优化中间件优化应用优化网络优化网络的问题主要是两个方面:响应时间和吞吐量。网络优化响应时间这里的响应时间主要是查找和连接网络的时间。响应时间过长的常见原因是DNS的解析造成的。案例:DNS解析造成服务启动慢海南EIP在项目实施中,遇到服务启动很慢的问题,一个服务的启动时间需要20多分钟。后来发现系统走了DNS解析,没有走本地解析。修改为本地解析后,启动时间缩短为4分钟左右。网络优化吞吐量吞吐量主要是指网络的传输速度。这里只讨论网络设备的
5、设置问题。案例:交换机传输模式影响网速由于惠州供电局交换机传输模式是“半双工自适应”,造成网速很慢,表现为我们的系统响应很慢,后改成“全双工”模式,系统响应速度明显提高,输电部、计量部、变电部登录系统时间,及不同设备界面切换时间响应在2秒以内。大 纲操作系统优化网络优化数据库优化中间件优化应用优化数据库优化目前我公司系统使用的数据库主要是Oracle。Oracle优化主要从5个方面来考虑:软件版本、内存、CPU、IO、数据库对象争用和SQL。数据库优化软件版本软件版本可以从两个方面考虑,与操作
6、系统响应的版本、与版本相关的补丁。如果版本与操作系统不一致,即便能跑起来,也会产生系统问题。另外,有些版本本身有bug,这些bug可能会造成性能问题,所以需要打上补丁。一般2.4以上的版本被视为稳定版本。案例:64位机器上安装32位oracle的性能问题惠州供电局原来的数据库服务器cpu是64位,但是为了图方便,安装了32位windows2003和32位的oracle10g,造成只能使用1.7g左右的内存,对于8g内存的机器来说,很浪费。后来按照oracle给出的扩大内存的方法进行调整,依然无效
7、。原因就是该机器cpu是64位的。后来改装64位windows2003和64位oracle10g,性能提高了几倍。数据库优化内存优化一般Oracle建议将操作系统物理内存的70%分配给它。比如,物理内存是8G,则分配给Oracle的内存就是5.6G。Oracle的内存主要分两块:SGA和PGA。按照70%的物理内存来划分,则是:SGA为60%,PGA为10%。案例:内存设置太小造成性能问题有人反映,他的系统很慢,感觉主要是数据库慢。连上去看他的数据库,发现SGA只有300M,PGA只有几十M。按
8、照70%的比例进行调整后,发现数据库性能明显提高,相应的系统吞吐量也大幅提高。数据库优化CPU优化这里把Oracle中的Processes归为CPU方面,其实也不准确。主要是考虑到它们和CPU的利用率有关。Processes参数表明允许同时运行的最大服务器进程数。在独占式连接模式下,一个Session就启动一个Process,你也可以认为建立一个JDBC连接就启动一个Process。案例:Processes设置太小造成性能问题如果Weblogic中JDBC连接池需要建立的连接数大于Process
此文档下载收益归作者所有