Oracle 10g 和 PHP

发布于 2024-09-24 21:45:04 字数 183 浏览 3 评论 0原文

你好 我已使用 PHP 将呼叫中心应用程序从 Oracle Forms 转换为 Web 应用程序,

我使用 oci_pconnect() 连接到数据库,但我们看到连接数非常高(每天超过 40 000 个),因为每个用户都有一个唯一的用户名和密码。 这显然会杀死数据库,

有什么关于最小化影响或重用连接的最佳实践的建议吗?

HI
I've converted a call center app from Oracle Forms into a web app using PHP

i am using oci_pconnect() to connect to the DB but we are seeing very high connections (in excess of 40 000 a day) because each user has a unique username and password.
this is obviously killing the DB

any advice on best practices to minimize the impact or reuse connections?

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

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

发布评论

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

评论(3

温柔戏命师 2024-10-01 21:45:04

我遇到的最常见的情况是使用通用帐户进行数据库访问并将用户身份验证转移到其他地方(LDAP?)。尽管还有其他方法(根据 iddqd 的答案),您仍然会在两端得到一个大的连接池,并且虽然性能会得到改善,但每次创建新会话时仍然会产生额外的开销。

The most common I've come across is to use a generic account for DB access and moving user authentication elsewhere (LDAP?). Although there are other approaches (as per iddqd's answer) you're still going to end up with a large connection pool at both ends, and though the performance will be improved, there's still an additional overhead each time a new session is created.

饮惑 2024-10-01 21:45:04

考虑使用共享服务器、cman 或将数据库移至 11g 并尝试 DRCP。

Consider to use shared server, cman or move database to 11g and try DRCP.

浅唱ヾ落雨殇 2024-10-01 21:45:04

oci_pconnect 将为每个 Oracle 用户和每个 Web 服务器进程创建一个与 Oracle 的新会话。因此,与 Oracle 的最大会话连接数将为(应用程序中的 Oracle 用户数)*(每个 Web 服务器上的进程数)*(oci8.max_persistent 运行时参数)。您可以通过设置 oci8.max_persistent = 1 来限制此数量。

oci_pconnect will create a new session with Oracle for each Oracle user and each web server process. So maximum number of session connections to Oracle will be (# of Oracle users in application) * (# of processes on each web server) * (oci8.max_persistent runtime parameter). You can limit this number by setting oci8.max_persistent = 1.

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