加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

获得更多数据库性能 – postgresql

发布时间:2021-03-31 10:07:20 所属栏目:MsSql教程 来源:网络整理
导读:我们在专用服务器上托管了一个 django“web应用程序”(来自地狱).经过一些基准测试后,我发现“应用程序”在数据库操作方面非常糟糕(此时重构不是一个选项).它会产生大量的读写活动.现在我们正在获得另一个(第二个)专用服务器,以提高性能和一些紧急冗余.这

我们在专用服务器上托管了一个 django“web应用程序”(来自地狱).经过一些基准测试后,我发现“应用程序”在数据库操作方面非常糟糕(此时重构不是一个选项).它会产生大量的读写活动.现在我们正在获得另一个(第二个)专用服务器,以提高性能和一些紧急冗余.这两款机器都运行24核(Intel(R)Xeon(R)CPU E5645 @ 2.40GHz)和48GB RAM(还有Raid 10,6x150gb 15k hardrives).

我想知道如何改进设置.

>使用KVM进行虚拟化,为nginx uwsgi,memcached和postgresql单独创建vmachine.最好制作超过1个postgresql – 并使用pg-pool来获取更多信息.
>保持虚拟化,在每台服务器上安装所有内容,然后使用此镜像设置在数据中心级别获得适当的负载均衡器.
>获得更多的机器 – 更少的内核,更少的内存(一般比其他两个“主要”更便宜)并在那里设置一些数据库集群?
> IF数据库集群路由 – 那么什么能够为写入和读取提供最佳性能?

(在此期间我们正在以适当的方式重写应用程序,但是获得当前的 – 糟糕的 – 运行速度更快一点是至关重要的,我们需要它至少在接下来的3个月内保持增加的流量……)

你能否就加强设置提出一些建议?强调为可笑的低效app-from-hell准备数据库机器结构.

解决方法

一些基本的操作系统级DB性能提示:

>拥有比您知道更多的RAM.
如果您可以将整个查询放在RAM中,或者至少将数据保存在数据库或操作系统缓存中,那么您的性能将得到显着提高.
>花钱购买快速磁盘和优秀的RAID控制器.
RAID 10,如果你能得到它,并在RAID控制器上使用备用电池,这样你就可以充分利用写缓存.
>调整Postgres服务器的设置
(在Khaled的回答中有一个关于Postgres维基页面的链接)
>利用只读从属
如果您正在运行Postgres 9.x,则可以使用只读从属服务器.将一些读取密集型工作(如报告)卸载到从属服务器上,这样当您尝试进行更新时,主数据库并不忙.
>永远不要永远不要虚拟化生产数据库服务器
几乎从来没有 – 虚拟化数据库服务器是一个性能杀手.

对于DB特定提示,您可能需要在dba.SE上检查 – 通过正确的索引和查询设计可以实现巨大的性能提升.

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读