有没有人知道使用mod_dbd进行数据库连接的PHP扩展?
我们的应用程序需要访问远程数据库。它曾经是一个使用mod_dbd进行数据库连接的Apache模块,事务大约需要200ms。现在我们将应用程序更改为PHP,同一事务现在需要超过600毫秒。我们希望某种集合可以提高性能。
我们切换到使用mysql_pconnect()
,但它的工作效果不如mod_dbd。
答案 0 :(得分:1)
我知道你可能已经放弃了答案但是......
我认为你会发现大部分额外的时间都是加载和编译PHP脚本。如果您之前的应用程序是一个apache模块,那么它是预编译的并且总是被加载,可能用c编写,因此与PHP相比非常快。
尝试使用像eaccelerator这样的php加速器。使用共享内存和预编译脚本有时可以显着提高PHP应用程序的性能。
DC
答案 1 :(得分:0)
为了从mod_dbd的连接池功能中受益,您需要运行线程化MPM,以便多个线程可以共享池中的连接。不幸的是,我确实认为PHP不是线程安全的,并且不支持线程MPM。
如果你将mod_dbd与pre-fork MPM(没有线程并且推荐用于PHP)一起使用,mod_dbd将创建一个持久的数据库连接,与不使用mod_dbd的PHP中的数据库连接相比,这不会带来任何巨大的优势