1.introduction - arxivorg.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.introduction - arxivorg

A Study on Altering PostgreSQL from Multi-Processes Structure to Multi-Threads Structure Zhiyong Shan Department of Computer Science, Renmin University of China This Paper is in Chinese Abstract: How to altering PostgreSQL database from multi-processes structure to multi-threads structure is a difficult problem. In the paper, we bring forward a comprehensive alteration scheme. Especially, put rational methods to account for three difficult points: semaphores, signal processing and global variables. At last, applied the scheme successfully to modify a famous open source DBMS. Keywords: Database, Multi-Threads, Operating System 1.Introduction PostgreSQL 是著名的开放源代码数据库,对数据库发展有着重要影响,同时具有 广泛的研究和应用价值。它起源于斯坦福大学,已经持续开发了二十多年。目前技术 比较先进的商业数据库一般采用多线程结构,以提高效率,但是,由于 PostgreSQL 的源码有 25 万行之多,而且历史沉积时间长,改造的难度比较大,所以一直保留多 [9] 进程的结构,国际上还没有人成功将 linux 上的 PostgreSQL 改造为多线程结构 。 很多的其他大型软件也是基于多进程结构开发的,如果将它们改造成多线程结 [1][2][3][4] 构,可以显著地提高性能 。 多线程结构性能提高的原因是线程之间共享相同的进程空间,线程启动和通信所 [1] 消耗的系统资源比进程少得多。如表 1 数据 : 表 1 数据表明,创建一个新进程所花时间大概 操作 花费时间(微秒) 是创建一个新线程的 30 倍,通信开销是 3 倍。 创建线程 52 创建进程 1700 对于大型软件,源代码数量浩大,往往超 线程间进行 PV 原语 66 过 10 万行,而多线程改造时需要涉及的代码散 进程间进行 PV 原语 200 布在各处,如果没有正确全面的方法,很难改造成功。本文系统全面地阐述在 Linux 平台上 PostgreSQL 多线程改造时的技术方案,具有较好的参考价值。 文中,首先分析 PostgreSQL 的多进程结构,然后提出详细的多线程改造方案, 再指出调试过程中发现的 PostgreSQL 的一个小的设计缺陷,最后进行性能测试。 2 .PostgreSQL 的多进程结构分析 2 .1 总体描述 在支持多用户的情况下(以后的讨论均针对多用户的情况),PostgreSQL 后台由 以下几种进程组成:

文档评论(0)

wujianz + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档