PHP 和 mod_dbd

发布于 2024-08-14 01:07:27 字数 217 浏览 4 评论 0原文

有谁知道使用 mod_dbd 进行数据库连接的 PHP 扩展吗?

我们的应用程序需要访问远程数据库。它曾经是一个使用 mod_dbd 进行数据库连接的 Apache 模块,事务需要大约 200 毫秒。现在我们将应用程序更改为 PHP,相同的事务现在需要超过 600 毫秒。我们希望某种池化能够提高性能。

我们改用 mysql_pconnect() ,但它的工作效果不如 mod_dbd 。

Does anyone know a PHP extension to use mod_dbd for database connections?

Our application needs to access a remote database. It used to be an Apache module using mod_dbd for database connections and the transaction takes about 200ms. Now we changed the application to PHP and the same transaction takes over 600ms now. We hope some kind of pooling will improve the performance.

We switched to use mysql_pconnect() but it doesn't work nearly as good as mod_dbd.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

少年亿悲伤 2024-08-21 01:07:27

我知道您可能已经放弃了答案,但是...

我想您会发现大部分额外时间都在加载和编译 PHP 脚本。如果您以前的应用程序是 apache 模块,那么它会被预编译并始终加载,可能是用 c 编写的,因此与 PHP 相比非常快。

尝试使用像 eaccelerator 这样的 php 加速器。它使用共享内存和预编译脚本有时可以显着提高 PHP 应用程序的性能。

直流

I know you have probably given up on an answer but...

I think you'll find that most of the extra time is loading and compiling the PHP script. if your previous app was an apache module then it is precompiled and always loaded, probably written in c so very fast compared to PHP.

Try using a php accelerator like eaccelerator. that uses shared memory and precompiled scripts to sometimes dramatically improve the performance of PHP apps.

DC

流年里的时光 2024-08-21 01:07:27

为了受益于 mod_dbd 的连接池功能,您需要运行线程 MPM,以便多个线程可以共享池中的连接。不幸的是,我确实相信 PHP 不是线程安全的,并且不支持线程 MPM。

如果您将 mod_dbd 与 pre-fork MPM(它不是线程化的,建议用于 PHP)一起使用,mod_dbd 将创建单个持久数据库连接,与不使用 mod_dbd 的 PHP 中的数据库连接相比,这不会给您带来任何巨大的优势。

In order to benefit from the connection pooling feature of mod_dbd you would need to run a threaded MPM so that several threads can share the connections in the pool. Unfortunately I do believe PHP is not thread-safe, and will not support threaded MPMs.

If you use mod_dbd with the pre-fork MPM (which is not threaded and recommended for PHP) mod_dbd will create a single persistent database connection, which does not give you any huge advantage compared to a database connection in PHP not using mod_dbd.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文