Я на этой машине:
Intel Core 2 Duo E8400 @ 3GHZ 4 ГБ оперативной памяти ddr2
PHP 5.3.6 pgsql 9,1
Я бегу PHPскрипт, который занимает около 5 минут на Mac с аналогичными характеристиками.Этот скрипт php, по сути, воссоздает базу данных, импортируя в нее некоторые данные.
На этом компьютере он работает более 20 минут.
Странная вещь заключается в использовании ЦП из обоих PHP& POSTGRESQL
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8408 postgres 20 0 2188m 44m 40m D 4 1.1 0:20.71 postgres
8407 gianps 20 0 380m 225m 6620 S 2 5.7 0:11.78 php
top - 16:08:32 up 3:35, 3 users, load average: 1.26, 1.15, 0.80
Tasks: 187 total, 1 running, 185 sleeping, 0 stopped, 1 zombie
Cpu(s): 4.8%us, 2.7%sy, 0.2%ni, 87.0%id, 5.1%wa, 0.0%hi, 0.2%si, 0.0%st
Mem: 4056572k total, 2541972k used, 1514600k free, 117772k buffers
Swap: 3905532k total, 0k used, 3905532k free, 902048k cached
Я настроил php (как cli, так и apache), чтобы использовать столько памяти, сколько им нужно (ограничение памяти -1), и настроил postgres:
shared_buffers = 2GB
ffective_cache_size = 3072MB
Любое предложение, чтобы этот скрипт использовал больше оперативной памяти и больше процессора и работал быстрее?
спасибо
обновление: после некоторого расследования я обнаружил, что этоустановка синхронной фиксации (в этой ситуации) делает мой сценарий в 10 раз быстрее.
set synchronous_commit to off;
, поскольку небезопасно использовать эту опцию по умолчанию, я просто отключаю ее при необходимости ... чтобы понять, что делает синхронная фиксация документация