1)高性能原则
保证所选购的服务器,不仅能够满足运营系统的运行和业务处理的需要,而且能够满足一定时期业务量的增长。一般可以根据经验公式计算出所需的服务器TpmC值(Tpmc是衡量计算机系统的事务处理能力的程序),然后比较各服务器厂商和TPC组织公布的TpmC值,选择相应的机型。同时,用服务器的市场价/报价除去计算出来的TpmC值得出单位TpmC值的价格,进而选择高性能价格比的服务器。
结论:服务器处理器性能很关键,CPU的主频要高,要有较大的缓存
2)可靠性原则
可靠性原则是所有选择设备和系统中首要考虑的,尤其是在大型的、有大量处理要求的、需要长期运行的系统上。考虑服务器系统的可靠性,不仅要考虑服务器单个节点的可靠性或稳定性,而且要考虑服务器与相关辅助系统之间连接的整体可靠性,如:网络系统、安全系统、远程打印系统等。在必要时,还应考虑对关键服务器采用集群技术,如:双机热备份或集群并行访问技术,甚至采用可能的完全容错机。
结论:服务器要具备冗余技术,同时像硬盘、网卡、内存、电源此类设备要以稳定耐用为主,性能其次。
3)可扩展性原则
保证所选购的服务器具有优秀的可扩展性原则。因为服务器是所有系统处理的核心,要求具有大数据吞吐速率,包括:I/O速率和网络通讯速率,而且服务器需要能够处理一定时期的业务发展所带来的数据量,需要服务器能够在相应时间对其自身根据业务发展的需要进行相应的升级,如:CPU型号升级、内存扩大、硬盘扩大、更换网卡、增加终端数目、挂接磁盘阵列或与其他服务器组成对集中数据的并发访问的集群系统等。这都需要所选购的服务器在整体上具有一个良好的可扩充余地。一般数据库和计费应用服务器在大型计费系统的设计中就会采用集群方式来增加可靠性,其中挂接的磁盘存储系统,根据数据量和投资考虑,可以采用DAS、NAS或SAN等实现技术。
结论:服务器的IO要高,否则在CPU和内存都是高性能的情况下,会出现瓶颈。除此之外,服务器的扩展性要好,为的是满足企业在日后发展的需要。
4)安全性原则
服务器处理的大都是相关系统的核心数据,其上存放和运行着关键的交易和重要的数据。这些交易和数据对于拥有者来说是一笔重要的资产,他们的安全性就非常敏感。服务器的安全性与系统的整体安全性密不可分,如:网络系统的安全、数据加密、密码体制等。服务器需要在其自身,包括软硬件,都应该从安全的角度上设计考虑,在借助于外界的安全设施保障下,更要保证本身的高安全性。
结论:首先从服务器的材料上来说要具备高硬度高防护性等条件,其次服务器的冷却系统和对环境的适应能力要强,这样才能够在硬件上满足服务器安全的要求。
5)可管理性原则
服务器既是核心又是系统整体中的一个节点部分,就像网络系统需要进行管理维护一样,也需要对服务器进行有效的管理。这需要服务器的软硬件对标准的管理系统支持,尤其是其上的 *** 作系统,也包括一些重要的系统部件。
结论:尽量选择支持系统多的服务器,因为服务器兼容的系统越多,你就可以拥有更大选择空间。
cpu高估计还是sql语句有问题,我也是新手,转帖一个给你参考参考
1-- 检查系统
sar -u 5 5
2-- 看谁在用CPU
topas
ps -ef |grep ora #检查第四列,C的大小(unit,100 per cpu)
3-- 检查CPU数量
/usr/sbin/bindprocessor -q
lsattr El proc0
4-- 2种可能:
1) A Background (instance) process
2) An oracle (user) process #此种可能最大。
5-- 如果是用户进程:那么高CPU的主要原因有:
Large Queries, Procedure compilation or execution, Space management and Sorting
51-- 查看每个Session的CPU利用情况:
select sssid,secommand,ssvalue CPU ,seusername,seprogram from v$sesstat ss, v$session se where ssstatistic# in (select statistic# from v$statname where name = 'CPU used by this session') and sesid=sssid and sssid>6 order by sssid;
52-- 比较上述Session,看那个session的CPU使用时间最多,然后查看该Session的具体情况:
select ssid, wevent, wwait_time, wseq#, qsql_text from v$session_wait w, v$session s, v$process p, v$sqlarea q where spaddr=paddr and ssid=&p and ssql_address=qaddress;
53-- 得到上述信息后,查看相应 *** 作是否有hash joins 和 full table scans。如果有hash joins 和 full table scans那么必须创建相应的Index或者检查Index是否有效。
另外必须检查是否有并行的查询存在和同一时刻有多个用户在执行相同的SQL语句,如果有必须关闭并行的查询和任何类型的并行提示(hints);如果查询使用intermedia数据,那么为了减少总的Index大小,必须限制使用Intermedia的Worldlist。(try restricting the wordlist that intermedia uses to help reduce the total indexsize)。
6-- 上述方案只能根据已经运行完成的 *** 作,对于正在执行的长时间 *** 作只能等 *** 作完成后才能检测得到。因此我们可以通过另外一个很好的工具来检测正在运行的长时间 *** 作语句。v$session_longops,这个视图显示那些 *** 作正在被运行,或者已经完成。每个process完成后会刷新本视图的信息。
7-- 怎样寻找集中使用CPU的Process:
很多时候会发现有N个Process在平均分享着CPU的利用率,这种情况唯一的可能性就是这些Process在执行着相同的Package或者Query
这种情况:建议通过statspack,在CPU高利用率额时候运行几个快照,然后根据这些快照检查Statspack报告,检查报告中最TOP的 Query。然后使用 sql_trace and tkprof 工具去跟踪一下。同时检查buffer cache 的命中率是否大雨95%。
同时在报告中还需要检查一下table scans (long tables),看是否在报告生成期间有存在全表扫描。
8-- 另外还有一些不是特别重要的,但是也必须关心检查的参数可能消耗CPU。
以上就是关于数据库服务器配置全部的内容,包括:数据库服务器配置、数据库cpu很高,io很低、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)