Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
У меня МЕГАСЕРВЕР, но Postgres работает ужасно! Сделал что мог, не помогло! В чем грабли?
|
|||
|---|---|---|---|
|
#18+
Разрешите спросить вот прямо строчкой из FAQ'а у уважаемых гуру :) Ибо по-видимому, это мой случай :/ По пунктам опять же из FAQ'а расписываю информацию: 1. Версия PG - 7.4.1. ОС - AIX 5.3. "Железо" - Сервер IBM P570, 16-процессорный двухядерный PowerPc. 64 Gb оперативки. База и datadir установлены в раздел 1TB. 2. Какие настройки? Особенно интересуют изменения в файле postgresql.conf Основные изменения: Установил shared_buffers в 2 Gb (c 4-мя гигами стартовал, но вываливался при обращении к данным). sort_mem - 1 Gb. vacuum_mem 4 Gb. wal_buffers - 4 Mb effective_cache_size - 1 Gb. 3. Есть ли еще что-то активно работающее на этой машине? пока нет, и вся эта махина молотит вхолостую 8) 4. Тормоза на каких запросах? Каков объем данных? Не то что бы тормоза, но 10% прирост производительности в сравнении с обычной рабочей станцией (3 ГГц CPU, 512 Mb оперативки) - это мягко говоря, не то, что я ждал 8) делаем простую выборку, в таблице около 108 тыс. записей: "локалка": Код: plaintext 1. 2. IBM: Код: plaintext 1. 2. seqscan вообще тормозит! подключаем индекс: explain analyse select * from weight_carriage where carr_id=10000; "локалка" Код: plaintext 1. 2. 3. IBM: Код: plaintext 1. 2. 3. В принципе, по секундомеру замерял отработку сложных отчетов - в среднем процентов на 10% стали быстрее вываливаться (например, вместо 45 секунд - 38-40). Разве это РОСТ производительности??? 5. А что с дисковой подсистемой? 6. А с CPU? Самое интересное, что при выполнении запросов postgres отжирает 13-14% CPU, 10-12% pagespace, то есть - ресурсы-то берёт, но НА ЧТО он их тратит?? 8. Когда последний раз делался VACUUM FULL ANALYZE? регулярно каждый раз, после правки файла postgresql.conf. Ребят, подскажите, кто что знает? Я пока в растерянности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 10:42 |
|
||
|
У меня МЕГАСЕРВЕР, но Postgres работает ужасно! Сделал что мог, не помогло! В чем грабли?
|
|||
|---|---|---|---|
|
#18+
Вы напрасно ожидали увеличения производительности на одном запросе. В p570 стоят процессоры p5 с частотой 1.65 (вероятнее всего). Может быть 1.9 Современные x86 процессоры гораздо быстрее p5 в specint. Сравните сами на spec.org А вот когда у вас будет одновременно исполняться сотни и тысячи запросов, тогда вы получите другие результаты по сравнению с PC. Когда самые конкуретные индексы уложаться в 70-100мб кеша L3 вашего сервера вы, вероятно, это почувствуете. Тем не менее, современный 4x сокетный х86 сервер с 4х ядерными процессорами скорее всего будет заметно быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 10:53 |
|
||
|
У меня МЕГАСЕРВЕР, но Postgres работает ужасно! Сделал что мог, не помогло! В чем грабли?
|
|||
|---|---|---|---|
|
#18+
вы замеры производили при работе одной сессии? а если запустить, скажем, 32 более менее активных сессии одновременно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 10:55 |
|
||
|
У меня МЕГАСЕРВЕР, но Postgres работает ужасно! Сделал что мог, не помогло! В чем грабли?
|
|||
|---|---|---|---|
|
#18+
т.е. нормальный прирост будет ощущаться только в случае конкуретной работы с базой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 11:03 |
|
||
|
У меня МЕГАСЕРВЕР, но Postgres работает ужасно! Сделал что мог, не помогло! В чем грабли?
|
|||
|---|---|---|---|
|
#18+
У вас версия PostgreSQL 2003 года. Для начала обновите до последней версии, потом уже есть смысл разговаривать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 11:16 |
|
||
|
У меня МЕГАСЕРВЕР, но Postgres работает ужасно! Сделал что мог, не помогло! В чем грабли?
|
|||
|---|---|---|---|
|
#18+
pg_beginner пишет: > В принципе, по секундомеру замерял отработку сложных отчетов - в среднем > процентов на 10% > стали быстрее вываливаться (например, вместо 45 секунд - 38-40). > > Разве это РОСТ производительности??? Производительностьв вообще - это кол-во операций в единицу времени. А вы - секундомером. Замерянное время вообще в СУБД ничего не определяет. Непоказательно. Ну а остальном вам уже вроде бы сказали. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 11:27 |
|
||
|
У меня МЕГАСЕРВЕР, но Postgres работает ужасно! Сделал что мог, не помогло! В чем грабли?
|
|||
|---|---|---|---|
|
#18+
pg_beginnerт.е. нормальный прирост будет ощущаться только в случае конкуретной работы с базой? ну конечно же, единичный p5 - далеко не самый быстрый процессор. Мощь вашего сервера будет заметна, когда будет большое число конкурентных запросов и активная стрельба по памяти. Тут и должны проявятся архитектурные преимущества: больште кеши, широкая шина к памяти и т.д. Господа, которые советуют перейти на pg8, совершенно правы. Это нужно сделать немедленно, если только у вас нет каких-то застарелых несовместимостей, накопленных в старом проекте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 11:29 |
|
||
|
У меня МЕГАСЕРВЕР, но Postgres работает ужасно! Сделал что мог, не помогло! В чем грабли?
|
|||
|---|---|---|---|
|
#18+
Времени нет, поэтому очень кратко: Откуда вы взяли, что надо выставлять такие параметры ? Например, sort_mem=1GB это просто ужас ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 12:27 |
|
||
|
У меня МЕГАСЕРВЕР, но Postgres работает ужасно! Сделал что мог, не помогло! В чем грабли?
|
|||
|---|---|---|---|
|
#18+
Nick GazaloffУ вас версия PostgreSQL 2003 года. Для начала обновите до последней версии, потом уже есть смысл разговаривать. Если нет возможности перейти на 8.2, то хотя бы на топовую 7.4.18. ЗЫ В дополнение к остальным. PG не умеет параллелить еденичные запросы, поэтому для одного клиента условно "по барабану" сколько у Вас процессоров. Хоть 512. Условно - потому, что ОС немного, но все-таки отжирает, автовакуум много но иногда, ну и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 12:30 |
|
||
|
У меня МЕГАСЕРВЕР, но Postgres работает ужасно! Сделал что мог, не помогло! В чем грабли?
|
|||
|---|---|---|---|
|
#18+
Олег Бартунов очень занятый человек, он выразался кратко. sort mem обычно в раза в 32 меньше. Вообще, нет смысла задирать все параметры, не понимая их смысла. если у вас в руках оказался такой сервер, да еще и под AIX, следует более тщательно отнестись к OS, софту, настойкам и пр. В противном случае x86 сервер за $6000-10000 со свежим линуксом и постгресом из пакетов будет без всяких настроек работать много быстрее вашего монстра. Если нет желания читать докментацию и рассылку postgresql.org, то можете взять для примера конфиг из spec.org http://www.spec.org/jAppServer2004/results/res2007q3/jAppServer2004-20070606-00065.html http://www.spec.org/jAppServer2004/results/res2007q3/jAppServer2004-20070606-00065.html#DBDatabase_SW_Config0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 13:08 |
|
||
|
У меня МЕГАСЕРВЕР, но Postgres работает ужасно! Сделал что мог, не помогло! В чем грабли?
|
|||
|---|---|---|---|
|
#18+
Oleg BartunovВремени нет, поэтому очень кратко: Откуда вы взяли, что надо выставлять такие параметры ? Например, sort_mem=1GB это просто ужас ! спасибо за конструктив! а где ещё откровенные ошибки, кроме этого параметра? укажите пожалуйста, если не сложно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 13:41 |
|
||
|
У меня МЕГАСЕРВЕР, но Postgres работает ужасно! Сделал что мог, не помогло! В чем грабли?
|
|||
|---|---|---|---|
|
#18+
вопрос такой - что конкретно даст переход на 8-ку? в плане производительности. понятно что будет лучше. интересует скорее, чем конкретно уступает 7.4? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 13:50 |
|
||
|
У меня МЕГАСЕРВЕР, но Postgres работает ужасно! Сделал что мог, не помогло! В чем грабли?
|
|||
|---|---|---|---|
|
#18+
Andrey DaeronЗЫ В дополнение к остальным. PG не умеет параллелить еденичные запросы, поэтому для одного клиента условно "по барабану" сколько у Вас процессоров. вот. более-менее проясняется. спасибо добрый человек :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 13:55 |
|
||
|
У меня МЕГАСЕРВЕР, но Postgres работает ужасно! Сделал что мог, не помогло! В чем грабли?
|
|||
|---|---|---|---|
|
#18+
pg_beginnerвопрос такой - что конкретно даст переход на 8-ку? в плане производительности. понятно что будет лучше. интересует скорее, чем конкретно уступает 7.4? Гнусный вопрос. В общем и целом дофига улучшений. Начиная с оптимизатора, планировщика, индексов заканчивая автовакуумом и всякими асинхронными коммитами (в 8.3). Три мажорных ветки уже вышли, четвертая на подходе. Подробнее - в релизнотах на каждую версию. ЗЫ Для конкретики "уступок" нужно знать что Вы используете. Для запроса "SELECT 1+1" серьезных улучшений небыло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 14:48 |
|
||
|
У меня МЕГАСЕРВЕР, но Postgres работает ужасно! Сделал что мог, не помогло! В чем грабли?
|
|||
|---|---|---|---|
|
#18+
ну просто как обычно бывает - типа, о, да это же старье, кто ж на нём работает! а реально разобраться - ну да, функционала добавилось. но чтоб обновил версию - и всё "летает" - нету такого. поэтому и спрашиваю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 15:18 |
|
||
|
У меня МЕГАСЕРВЕР, но Postgres работает ужасно! Сделал что мог, не помогло! В чем грабли?
|
|||
|---|---|---|---|
|
#18+
во, а запрос типа SELECT t1.f1, t2.f2 FROM table1 t1, table1 t2 WHERE t1.f_id=t2.f2 + агрегатные ф-ии, подзапросы для запросов такого типа - улучшения есть? да и вообще, отклонились мы. разговор про оптимизацию под железяку. и почему не так быстро, как ожидалось. тут вам спасибо - разъяснили про невозможность распараллелить запрос по процессорам. а более крутая 8-ка, я так понимаю, будет быстрее шебуршить как на "локалке" так и на ibm. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 15:24 |
|
||
|
У меня МЕГАСЕРВЕР, но Postgres работает ужасно! Сделал что мог, не помогло! В чем грабли?
|
|||
|---|---|---|---|
|
#18+
pg_beginnerво, а запрос типа SELECT t1.f1, t2.f2 FROM table1 t1, table1 t2 WHERE t1.f_id=t2.f2 + агрегатные ф-ии, подзапросы для запросов такого типа - улучшения есть? а более крутая 8-ка, я так понимаю, будет быстрее шебуршить как на "локалке" так и на ibm. 1. Угу. По идее всякие вещи типа битмаповых индексов могут помочь ускориться. 2. Не факт. По крайней мере в начале стабильной ветки 8.2 многие заметили лёгкое уменьшение производительности по сравнению с 8.1. Сейчас толи никто не переходит, либо не признаётся, либо не тормозит 3. Было много изменений в ядре и оптимизаторе. "Обновил и летает" - это вряд ли, но некоторые видели убыстрения до 30%. Опять же за счет архитекутры (например партиционирование) можно ускорить еще сильнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 15:53 |
|
||
|
У меня МЕГАСЕРВЕР, но Postgres работает ужасно! Сделал что мог, не помогло! В чем грабли?
|
|||
|---|---|---|---|
|
#18+
у меня переход на 8-ку заметно поднял производительность. Микрозадачи выглядят так: - вызов 5-6 хранимых процедур (друг из друга) в одной транзакции. - обновляется 5-6 таблиц и вставляется 200-300 записей. На чистой базе получил скорость 120-150% от семерки. На распухшей базе разница доходила до 200%. При этом 7-ка показывала хуже чем линейную зависимость от размера транзакции. Например вставка в одной транзации 100 записей -10 мсек, 1000записей - 200мсек. На 8-ке была почти линейная зависимость до 10 000 записей! Второй плюс - заметил прирост %15 на 64битной сборке по сравнениею с 32битной (FreeBSD) по большим селектам на int8 и timestamp. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 17:19 |
|
||
|
У меня МЕГАСЕРВЕР, но Postgres работает ужасно! Сделал что мог, не помогло! В чем грабли?
|
|||
|---|---|---|---|
|
#18+
Ребята, я в шоке! 8.2.5 по различным замерам (моим) в среднем в два раза быстрее, чем 7.4.1. не ожидал, честно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2007, 11:52 |
|
||
|
У меня МЕГАСЕРВЕР, но Postgres работает ужасно! Сделал что мог, не помогло! В чем грабли?
|
|||
|---|---|---|---|
|
#18+
pg_beginner авторОсновные изменения: Установил shared_buffers в 2 Gb (c 4-мя гигами стартовал, но вываливался при обращении к данным). sort_mem - 1 Gb. vacuum_mem 4 Gb. wal_buffers - 4 Mb effective_cache_size - 1 Gb. Для 64 GB памяти effective_cache_size можно ставить как минимум в половину этого объема, sort_mem нужно урезать раз в 20 в зависимости от размеров ваших сортируемых выборок. Еще - какой у вас размер базы на диске - влезает в кэш? В восьмерке, если база часто обновляется включите автовакуум с небольшим интеревалом. PS: не используйте секундомер - в консоли есть /timing :) PPS: для назгрузочного тестирования юзайте специальные программы, например, JMeter. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2007, 11:29 |
|
||
|
У меня МЕГАСЕРВЕР, но Postgres работает ужасно! Сделал что мог, не помогло! В чем грабли?
|
|||
|---|---|---|---|
|
#18+
alex_v13 pg_beginner авторОсновные изменения: Установил shared_buffers в 2 Gb (c 4-мя гигами стартовал, но вываливался при обращении к данным). sort_mem - 1 Gb. vacuum_mem 4 Gb. wal_buffers - 4 Mb effective_cache_size - 1 Gb. Для 64 GB памяти effective_cache_size можно ставить как минимум в половину этого объема, sort_mem нужно урезать раз в 20 в зависимости от размеров ваших сортируемых выборок. Еще - какой у вас размер базы на диске - влезает в кэш? В восьмерке, если база часто обновляется включите автовакуум с небольшим интеревалом. PS: не используйте секундомер - в консоли есть /timing :) PPS: для назгрузочного тестирования юзайте специальные программы, например, JMeter. за советы - спасибо! буду пробовать :) по поводу timing - да я вообще-то в курсе. просто есть приложения, генерирующие отчеты. в каждом отчете куча запросов, да ещё в циклах и так далее. Мне чтобы прикинуть эффективность работы, проще засечь общее время генерации отчетов. Я ж не доли секунд ловлю, а в глобальном смысле - есть ли улучшения :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2007, 14:03 |
|
||
|
У меня МЕГАСЕРВЕР, но Postgres работает ужасно! Сделал что мог, не помогло! В чем грабли?
|
|||
|---|---|---|---|
|
#18+
советую включить log_min_duration = 1000*N в лог будут попадать запросы с длительностью исполнения более Nсек очень полезно, поскольку вы будете видеть: - дорогие запросы - как они меняются от ваших действий c параметрами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2007, 14:56 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=34855938&tid=2004876]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 352ms |

| 0 / 0 |
