我有一个PHP CLI脚本,它处理一个csv文件,将它的内容插入到Postgresql数据库中的表中。这是在Ubuntu服务器上。我使用schedtool来控制整个脚本的亲和力。 Schedtool用于使用-e选项启动脚本本身。不幸的是,使用htop,我发现数据库线程被视为一个完全不同的线程,并且不受亲和力选项的影响。可以产生Postgresql进程由spawner PHP脚本控制吗?
是否有可能以某种方式使数据库进程继承spawner PHP脚本中的所有关联选项?
我刚刚找到答案 - 因为我正在阅读一些Ruby的Postgresql示例文件:)。
我的最佳选择是获得正在运行当前脚本的Postgresql线程的非常准确的PID,并带有NOTIFY-LISTEN。 由于[depesz]告诉Postgres只使用1个核心。与schedtool
我仍然可以控制它运行的核心和cpulimit
我可以进一步控制它。
当然。 Schedtool为给定进程设置CPU调度参数。例如,在我的情况下,我将该进程设置为仅使用我CPU上的2个核心。这被称为亲和力。我也可以设置NICE级别。 更多信息请访问:http://linux.die.net/man/8/schedtool – Ikon 2009-05-30 11:09:18
客户端应用程序无法在服务器上设置好级别 - 在您的情况下,php应用程序无法在postgresql后端设置好级别。 至于设置应用程序是否可以使用1个或2个内核 - 没有太多意义,因为1个PostgreSQL后端将始终只使用1个内核。 – 2009-05-30 11:52:30