Home
Rattler lives here... - То ли лыжи, то ли так и надо... [entries|archive|friends|userinfo]
The Rattler

[ website | Rattler Home ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| Linux.Kiev.UA Net.Style IT Solutions Rad's Site Slovnyk ]

То ли лыжи, то ли так и надо... [Мар. 5, 2006|09:19 pm]
Previous Entry в избранное рассказать другу Next Entry
[Tags|, , , ]

Пребываю в состоянии глубокой озадаченности. Будучи сподвигнут Питоном на помощь в сетапе линухового тазика под постгрес, смог выжать чуть больше 5700 транзакций в секунду на тесте имени pgbench. При этом народ вроде как добивался более 10000 TPS на похожем железе.


Тестируем:
$ ./pgbench -U postgres -N -S -s 10 -c 10 -t 3000 test
starting vacuum...end.
transaction type: SELECT only
scaling factor: 1
number of clients: 10
number of transactions per client: 3000
number of transactions actually processed: 30000/30000
tps = 5708.308843 (including connections establishing)
tps = 5736.611514 (excluding connections establishing)


Тазик:
Pentium 4 2.8GHz
RAM: 1GB
HDD: ST3120026A, ATA, 7200, UDMA133
Linux 2.6.14 с HZ=100 и deadline scheduler.

Линуксу задирал постепенно размер shared memory, но это все, чего добился.
Вроде бы на FreeBSD оно дает более 6000 TPS без всякой оптимизации, но там был Xeon 2.8 GHz + SCSI HDD.

Впрочем, поразвлекавшись на домашнем тазике и на ноуте, получил еще меньшую скорость, но еще обнаружил, что к диску обращений не было заметно. Только процессы postmaster, отрабатывающие запросы раздувались по памяти дружно. Так что SCSI тут вряд ли рояль играет. Тем паче, что по диску мой ноут обязан был продуть по полной.

Интересно, что у меня таки получилось из вариантов ниже:
1. Я уткнулся в аппаратную планку и больше 5700 TPS на P4 2.8 нереально выжать.
2. FreeBSD лучше работает с памятью (в частности, с разделяемой), чем Linux 2.6.
3. Процесс тормозит система, не пересобранная с жесткой оптимизацией под архитектуру.
4. Еще какая фигня неучтенная.

Что интересно, соотношение быстродействия постгреса на "select only" транзакциях очень похоже на соотношение частоты процессоров.

Кстати, результат на ноуте (WinXP SP2, Pentium M 1.6 GHz, 512M RAM):
starting vacuum...end.
transaction type: TPC-B (sort of)
scaling factor: 1
number of clients: 10
number of transactions per client: 3000
number of transactions actually processed: 30000/30000
tps = 276.936711 (including connections establishing)
tps = 277.577305 (excluding connections establishing)


starting vacuum...end.
transaction type: SELECT only
scaling factor: 1
number of clients: 10
number of transactions per client: 3000
number of transactions actually processed: 30000/30000
tps = 3478.260870 (including connections establishing)
tps = 3588.516746 (excluding connections establishing)
ссылкаОтветить