小编Lim*_* SY的帖子

PHP同时运行多个脚本

我有一个像这样的对象服务器的数组:

Array
(
    [0](
                (
                    [id] => 1
                    [version] => 1
                    [server_addr] => 192.168.5.210
                    [server_name] => server1
                )
        )
    [1](
                (
                    [id] => 2
                    [server_addr] => 192.168.5.211
                    [server_name] => server2
                )
        )
)
Run Code Online (Sandbox Code Playgroud)

通过运行下面的代码,我能够获得所需的输出

foreach ($model as $server) {
        $cpu_usage = shell_exec('sudo path/to/total_cpu_usage.sh '.$server->server_addr);
        $memory_usage = shell_exec('sudo path/to/total_memory_usage.sh '.$server->server_addr);
        $disk_space = shell_exec('sudo path/to/disk_space.sh '.$server->server_addr);
        $inode_space = shell_exec('sudo path/to/inode_space.sh '.$server->server_addr);
        $network = shell_exec('sudo path/to/network.sh '.$server->server_addr);
        exec('sudo path/to/process.sh '.$server->server_addr, $processString);
        $processArray = array();
        foreach ($processString as $i) {
          $row = explode(" ", …
Run Code Online (Sandbox Code Playgroud)

php shell foreach exec shell-exec

5
推荐指数
1
解决办法
2858
查看次数

PostgreSQL性能调优和最大连接(实际上)

在过去的几周里,我一直在调整和搞乱PostgreSQL,我将在下一个项目中使用它.

我的规格是:

  • DigitalOcean 8核心16GB SSD x2(一个用于DB,另一个用于Web)
  • Centos 7
  • PHP5,Nginx

我试过的事情:

  1. Pgtune

  2. PgBouncer&Pgpool(连接池和负载平衡)

  3. 调整php-fpm和nginx(worker_processes,worker_connections,pm.max_children等)

  4. Linux文件句柄限制和套接字调整.

我正在测试它通过使用ApacheBench调用网页来插入.这是实用的吗?

ab -n 17500 -c 1750 -r http://example.com/insert.php
Run Code Online (Sandbox Code Playgroud)

到目前为止,我只能同时处理1700-2000连接而不丢弃任何事务(通常在nginx错误日志中过早关闭连接资源暂时不可用抱歉, PostgreSQL 已经返回太多客户端).

我为php-fpm尝试了TCP/IP和unix socket,而TCP/IP似乎比unix socket更具可扩展性.

PHP可以使用连接池吗?因为我从Web服务器调用数据库的方式仍然相同(对pgpool或pgbouncer进行了大量的单独连接).

我的目标是同时处理至少10,000个事务.决定因素是什么?它是web服务器与db(php-fpm)或PostgreSQL本身之间的瓶颈吗?通常,大公司(PHP Web应用程序)如何处理这样的卷?

sockets postgresql nginx pgpool pgbouncer

2
推荐指数
1
解决办法
1138
查看次数

标签 统计

exec ×1

foreach ×1

nginx ×1

pgbouncer ×1

pgpool ×1

php ×1

postgresql ×1

shell ×1

shell-exec ×1

sockets ×1