Php 为多个连接创建连接类的最佳方法

Php 为多个连接创建连接类的最佳方法,php,mysql,mysqli,Php,Mysql,Mysqli,我想要一些关于如何创建一个数据库连接类的建议,该类在PHP中能够高效地处理每秒200到600个连接。任何关于使用方法或服务器设置的建议都将不胜感激。MySQL有一个必须设置为覆盖连接总数的。Backlog仅在linux sysctlnet.core.somaxconn时有效(默认为128) 线程缓存也是很重要的,以确保每个线程没有创建线程。 建议通读。调整与MySQL版本相关的引用 我没有PHP推荐。建议用于数据库问题,可能会为您提供大量连接的提示。不要使用小型VM服务器,并期望获得高性能。My

我想要一些关于如何创建一个数据库连接类的建议,该类在PHP中能够高效地处理每秒200到600个连接。任何关于使用方法或服务器设置的建议都将不胜感激。

MySQL有一个必须设置为覆盖连接总数的。Backlog仅在linux sysctl
net.core.somaxconn
时有效(默认为128)

线程缓存也是很重要的,以确保每个线程没有创建线程。

建议通读。调整与MySQL版本相关的引用


我没有PHP推荐。建议用于数据库问题,可能会为您提供大量连接的提示。不要使用小型VM服务器,并期望获得高性能。

Mysql默认并发连接为150。 你的极限远远超过这个。 你必须实施 线程缓存 表缓存 查询缓存

在PHP中,u必须使用singleton类来建立连接,以便重用连接。一个小前妻

function connect()
{
   static $connection;
      if($connection == null)
      {
        $dsn = "mysql://{$username}:{$password}@{$hostName}/{$databaseName}";

            $connection = DB::connect($dsn);

            if (DB::isError($connection))
            {
                echo "db connect error";
                return FALSE;
            }  
      }
}


在代码中,对connect()的每次调用都不会最终创建一个新连接。只为第一次调用connect()创建一个新连接,后续调用connect()使用相同的连接。

从PHP的角度看,没有什么特别的事情要做。任何设计合理的类都可以。您只需确保每次脚本执行仅完成一次连接。如果您的代码是传统的PHP意大利面,则可以使用单例。然而,对于面向对象的代码,请考虑使用依赖注入。
每秒200到600个连接也不是什么大问题。如果您的数据库操作很快,则不需要那么多并发连接。例如,如果您的PHP脚本工作时间为0.1秒,它将需要60个适度的并发连接,这不是什么大问题

这个问题是无法解决的,因为问题中提出的解决方案(以类的形式)不是解决方案。这更多的是一个系统架构问题,超出了stackoverflow的范围。有人建议使用标准的持久连接吗?操作非常快。带有准备好的语句的简单插入。我试过使用单例连接,但超过200个并发请求导致它超时。我听说php之外的解决方案使用连接池。我使用持久连接取得了不错的效果,但也听说这是个坏主意。有什么想法吗?