Ant*_*ito 12 oracle iis memory ssd
最近,我们的 oracle 数据库在我们目前所知的 1 个查询上锁定时遇到了问题。
我将对发生的事情进行细分,但实际上与我的问题没有太大关系,但我愿意接受建议。
断断续续地不知道什么时候会发生,过去一个月已经发生了 4 次,用户会点击应用程序中的某些内容。用户点击了什么仍然未知。无论单击什么,它都会对数据库运行查询,这将生成大约 700k 行。
我检查了正在运行查询的表,索引看起来不错。
数据库是 60GB,服务器上有 32GB。
从数据库服务器上的日志我看到高 I/O 但 CPU 和 RAM 保持不变。
一台应用服务器,CPU 使用率高达 75% 左右。我可以找到工作进程,找到 PID,但是当我终止与工作进程关联的 PID 时,CPU 将短暂关闭,然后立即恢复。
同样回收应用程序池,并重新启动 IIS 会做同样的事情,CPU 会短暂下降,然后又会恢复正常。
唯一可以使服务器恢复正常的方法就是重新启动。
所以我的建议是,如果这个查询是导致锁定的原因,可以增加盒子上的内存以允许数据库缓存并耗尽内存。我听过一次,但我不确定它是否属实。
存储是具有 3 层的 HP PAR 3,数据库几乎位于 SSD 层中。
SSD 或内存哪个更快
SSD 或内存哪个更快
DRAM 比 NAND 闪存快。RAM 访问大约为 100 ns,而 SSD 随机读取大约为 16,000 ns。每个程序员都应该知道的延迟数字
您需要对正在发生的事情以及原因进行系统分析。不要仅仅因为你从另一个系统中听到了一些间接的东西而改变事情。找出这个系统的问题所在。
幸运的是,DBMS 系统往往具有性能工具。Oracle 和其他 RDBMS 必须EXPLAIN PLAN显示完全扫描和其他低效率。即使使用索引,查询也会非常糟糕。还有像 Oracle AWR 这样的系统性能报告来查找瓶颈。如果您想进一步查询 DB 性能,也可以询问我们的姊妹网站 https://dba.stackexchange.com/