Моё меню Общее меню Пользователи Правила форума Все прочитано
Вернуться   uForum.uz > ИКТ и телеком > IT-индустрия > Софт
Знаете ли Вы, что ...
...для каждой темы существует свой раздел. Изучите структуру форума. Если соответствующего раздела нет, то всегда есть раздел "Разное" :)
<< Предыдущий совет - Случайный совет - Следующий совет >>

Софт Программки, утилиты, операционки - все, что превращает мертвую груду металла в компьютер


Ответить

 
Опции темы Опции просмотра
Старый 07.12.2010 10:06   #1  
Аватар для Ruslan Aliev
Оффлайн
AKA:Рустамыч
Сообщений: 2,598
+ 475  792/462
– 45  44/28

KazakhstanОтправить сообщение для Ruslan Aliev с помощью Skype™Мой КругАккаунт на Twitter
Postgres использует только одно ядро

ОС Debian Lenny 5.0 AMD64, стоит Postgres 8.3 из репозитариев.
При запуске клиента написанного на C++ (в несколько потоков) создаются несколько потоков Postgres (для каждого клиента отдельный).
Но все потоки используют одно ядро !!!
Перерыл все настройки. Многопоточность включена.
Кто из гуру Postgress может помочь?
__________________
Свет рождает тени ...
Ответить 
Старый 07.12.2010 10:22   #2  
Аватар для Химера
Оффлайн
Сообщений: 518
+ 12  181/111
– 6  16/15

Uzbekistan
Клиент использует одно ядро или сервер?
__________________
Флудить - не мешки ворочать
Ответить 
Старый 07.12.2010 10:55   #3  
Аватар для Kane
Оффлайн
Сообщений: 373
+ 22  135/75
– 3  7/6

Afghanistan
Хмм, а с какой стати вы взяли что используется только одно ядро? Треды у постгреса нативные и шедулятся самой ос. Так что дело не должно быть в постгресе.
Ответить 
Старый 07.12.2010 11:27   #4  
Аватар для Ruslan Aliev
Оффлайн
AKA:Рустамыч
Сообщений: 2,598
+ 475  792/462
– 45  44/28

KazakhstanОтправить сообщение для Ruslan Aliev с помощью Skype™Мой КругАккаунт на Twitter
Цитата:
Сообщение от Kane Посмотреть сообщение
Хмм, а с какой стати вы взяли что используется только одно ядро? Треды у постгреса нативные и шедулятся самой ос. Так что дело не должно быть в постгресе.
Да в общем-то вывод htop показывает что все потоки идут на одном ядре.

Сейчас поставил pgbouncer , может решит проблему. Сижу, наблюдаю.
__________________
Свет рождает тени ...
Ответить 
Старый 07.12.2010 11:29   #5  
Аватар для Ruslan Aliev
Оффлайн
AKA:Рустамыч
Сообщений: 2,598
+ 475  792/462
– 45  44/28

KazakhstanОтправить сообщение для Ruslan Aliev с помощью Skype™Мой КругАккаунт на Twitter
Цитата:
Сообщение от Химера Посмотреть сообщение
Клиент использует одно ядро или сервер?
Клиент на отдельном сервере. Использует одно ядро. Но даже при запуске нескольких клиентов, постгрес всё отрабатывал на одном ядре.
__________________
Свет рождает тени ...
Ответить 
Старый 07.12.2010 11:59   #6  
Аватар для Kane
Оффлайн
Сообщений: 373
+ 22  135/75
– 3  7/6

Afghanistan
Цитата:
Сообщение от Rustam Valiev Посмотреть сообщение
Да в общем-то вывод htop показывает что все потоки идут на одном ядре. Сейчас поставил pgbouncer , может решит проблему. Сижу, наблюдаю.
Странно, он может грузить ядра немного неравномерно, но чтоб 1 ядро 100% а остальные в 0 это что то непонятное. Сколько видел стандартных инсталлов постгреса такого не встречал.
Ответить 
Старый 07.12.2010 20:27   #7  
Аватар для shumbola
Оффлайн
Сообщений: 3,327
+ 337  892/590
– 3  31/25

Uzbekistan
Цитата:
Сообщение от Kane Посмотреть сообщение
Хмм, а с какой стати вы взяли что используется только одно ядро? Треды у постгреса нативные и шедулятся самой ос. Так что дело не должно быть в постгресе.
Это у какого постгреса треды нативные? И откуда они взялись? ;-)
__________________
404 Not Found
Ответить 
Реклама и уведомления
Старый 07.12.2010 20:36   #8  
Аватар для shumbola
Оффлайн
Сообщений: 3,327
+ 337  892/590
– 3  31/25

Uzbekistan
Цитата:
Сообщение от Rustam Valiev Посмотреть сообщение
Цитата:
Сообщение от Химера Посмотреть сообщение
Клиент использует одно ядро или сервер?
Клиент на отдельном сервере. Использует одно ядро. Но даже при запуске нескольких клиентов, постгрес всё отрабатывал на одном ядре.
Первым делом проверьте клиент. Сколько процессов постгрес запущен на сервере? Что за запросы выполняются? Как долго выполняются? Сколько сессий создаются?
Вопросов не мало, но чтобы ответить на ваш вопрос приходиться их задавать.

PostgreSQL используют схему один процесс - одна сессия. В рамках одной сессии используется только один процессор. Для выполнения одного сложного запроса используется один процессор (Oracle, SQL Server, DB2,...) могут распараллелить выполнение такого запроса на все процессора.
В большинстве случаях узкое место не процессор, а I/O, вполне может быть, что достаточно одного процессора. :-)
__________________
404 Not Found
Ответить 
Старый 07.12.2010 20:39   #9  
Аватар для shumbola
Оффлайн
Сообщений: 3,327
+ 337  892/590
– 3  31/25

Uzbekistan
Цитата:
Сообщение от Rustam Valiev Посмотреть сообщение
Цитата:
Сообщение от Химера Посмотреть сообщение
Клиент использует одно ядро или сервер?
Клиент на отдельном сервере. Использует одно ядро. Но даже при запуске нескольких клиентов, постгрес всё отрабатывал на одном ядре.
Вы знаете, что есть в поставке PostgreSQL утилита pgbench? Попробуйте сначала тестировать с ней, а потом уже со своим клиентом.
__________________
404 Not Found
Ответить 
Старый 07.12.2010 21:53   #10  
Аватар для Kane
Оффлайн
Сообщений: 373
+ 22  135/75
– 3  7/6

Afghanistan
Да, это у мускула треды, попутал (как заклинивает на мускуле, когда его видишь по 100 раз на дню ). У постгреса мультипроцессная модель. Тем более процессы не могут не параллелиться по ядрам (треды еще как то могут быть привязаны к 1 ядру). Единственное объяснение может быть, что 1 запрос лочит другие намертво (что маловероятно).

Цитата:
Сообщение от shumbola Посмотреть сообщение
Это у какого постгреса треды нативные? И откуда они взялись? ;-)

Последний раз редактировалось Kane; 07.12.2010 в 22:03.
Ответить 
Ответить

Метки
linux, postgres
Опции темы
Опции просмотра




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Advertisement System V2.5 By Branden
OOO «Единый интегратор UZINFOCOM»


Новые 24 часа Кто на форуме Новички Поиск Кабинет Все прочитано Вверх