powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Разная скорость выполнения запросов на серверах
13 сообщений из 13, страница 1 из 1
Разная скорость выполнения запросов на серверах
    #38925912
d-e-larin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе утро.
Выполняю select на сервере(A) запрос тратит времени 200ms.
Выполняю select на сервере(B) запрос тратит времени 3000ms.
Количество данных одинаково.
Почему может быть такая разница во времени выполнения запросов?

Конфигурация базы данных на серверах одинаковая.
Скорость работы дисков на сервере(B) выше чем на (A), но скорость выполнения запросов ниже.
Оперативной памяти серверам выделено одинаково.
Проц. сервера(А) 3.3ГГц 8 ядер, Проц. сервера(B) 2.8ГГц 4 ядер, при выполнении запросов загрузка на серверах не более 15%.
ОС Windows.
...
Рейтинг: 0 / 0
Разная скорость выполнения запросов на серверах
    #38926049
Gold_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
d-e-larin,

Приведите сам запрос и EXPLAIN (ANALYZE on, COSTS on, BUFFERS on, TIMING on ) запроса на обоих серверах
...
Рейтинг: 0 / 0
Разная скорость выполнения запросов на серверах
    #38926074
d-e-larin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сервер A
"Seq Scan on sms (cost=0.00..916.56 rows=8556 width=492) (actual time=0.004..3.156 rows=8654 loops=1)"
" Buffers: shared hit=831"
"Total runtime: 4.153 ms"

сервер B
"Seq Scan on sms (cost=0.00..620.80 rows=8680 width=492) (actual time=0.014..18.801 rows=8644 loops=1)"
" Buffers: shared hit=534"
"Total runtime: 34.857 ms"
...
Рейтинг: 0 / 0
Разная скорость выполнения запросов на серверах
    #38926086
Gold_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
d-e-larin,

вижу 3ms и 18ms. Где 200ms и 3000ms?
...
Рейтинг: 0 / 0
Разная скорость выполнения запросов на серверах
    #38926130
d-e-larin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это другой более легкий запрос.
Факт в том что все запросы даже простейшие на сервере B выполняются дольше.
...
Рейтинг: 0 / 0
Разная скорость выполнения запросов на серверах
    #38926145
Gold_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
d-e-larin,

Покажите для статистики и запросы где отличия в 15 раз (200ms и 3000ms)
...
Рейтинг: 0 / 0
Разная скорость выполнения запросов на серверах
    #38926155
Фотография grufos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
d-e-larin,

d-e-larinсервер A
"Seq Scan on sms (cost=0.00..916.56 rows=8556 width=492) (actual time=0.004..3.156 rows=8654 loops=1)"
" Buffers: shared hit=831"
"Total runtime: 4.153 ms"

Пожалуйста приводите не огрызок, а полный текст всего, что выводит команда
explain (COSTS, BUFFERS, TIMING, ANALYZE, VERBOSE) select ....
...
Рейтинг: 0 / 0
Разная скорость выполнения запросов на серверах
    #38926175
d-e-larin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторПожалуйста приводите не огрызок, а полный текст всего, что выводит команда
Это был полный текст того что выводит команда

авторexplain (COSTS, BUFFERS, TIMING, ANALYZE, VERBOSE)
Вот результат выполнения, только тут добавил параметр VERBOSE как вы указали в примере.

сервер А
"Seq Scan on public.sms (cost=0.00..916.56 rows=8556 width=492) (actual time=0.008..3.782 rows=8655 loops=1)"
" Output: id, date, text, modify_date, address_source_from, address_source_to, semantic_id, order_num_a_day, operator, md5_hash, is_copy, is_alarm, is_acquainted_alarm, is_parsed"
" Buffers: shared hit=831"
"Total runtime: 4.851 ms"


сервер В
"Seq Scan on public.sms (cost=0.00..620.80 rows=8680 width=492) (actual time=0.013..17.437 rows=8646 loops=1)"
" Output: id, date, text, modify_date, address_source_from, address_source_to, semantic_id, order_num_a_day, operator, md5_hash, is_copy, is_alarm, is_acquainted_alarm, is_parsed"
" Buffers: shared hit=534"
"Total runtime: 32.486 ms"
...
Рейтинг: 0 / 0
Разная скорость выполнения запросов на серверах
    #38926198
tadmin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторСкорость работы дисков на сервере(B) выше чем на (A), но скорость выполнения запросов ниже.
Различия в конфигах постгреса.
Фоновые процессы, порождающие IO или влияющие на кеширование: windows и raid контроллер делает patrol read, иные настройки кеша на контроллере, протухший BBU в результате чего кеш свободен от write-back и используется на опережающее чтение.
Диск забит, таблица расположена на "дальнем" конце дисков, где линейнас скорость чтения ниже.
Можно продолжать бесконечно.
...
Рейтинг: 0 / 0
Разная скорость выполнения запросов на серверах
    #38926227
Фотография grufos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
d-e-larin,
сервер A
d-e-larin" Buffers: shared hit=831"
сервер B
d-e-larin" Buffers: shared hit=534"
из того, что видно по плану - у вас по разному используется кэширование данных.
здесь нужно сравнить настройки серверов.
Пропустите через компаратор файлики postgresql.conf - должны быть различия
интересует именно раздел: # - Memory -
Какая версия postgreSQL используется?
судя по результатам, хоть и незначительно, но таблички все же отличаются
сервер A
d-e-larinrows=8655
сервер B
d-e-larinrows=8646
высокая стоимость получения данных на сервере B
d-e-larinactual time=0.013..17.437
по сравнению с сервером А
d-e-larinactual time=0.008..3.782
показывает, что производительность серверов все же сильно не одинакова :)
...
Рейтинг: 0 / 0
Разная скорость выполнения запросов на серверах
    #38926303
d-e-larin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторКакая версия postgreSQL используется?
PostgreSQL 9.3.5, 64-bit

авторПропустите через компаратор файлики postgresql.conf - должны быть различия
Конфиги одинаковые 100%. копировался с сревера А на сервер B.

авторсудя по результатам, хоть и незначительно, но таблички все же отличаются
Сервер B поднимался из бэкапа сервера А. Сервер В не является зеркалом первого, он нужен для того чтобы развернуть похожую систему в другом месте. И да на первом сервере могут отличаться немного данные так как с ним работают люди, но это максимум пару 10 записей.

авторФоновые процессы, порождающие IO или влияющие на кеширование: windows и raid контроллер делает patrol read, иные настройки кеша на контроллере, протухший BBU в результате чего кеш свободен от write-back и используется на опережающее чтение.
Диск забит, таблица расположена на "дальнем" конце дисков, где линейнас скорость чтения ниже.
Сервер А это виртуальная машина расположенная на одном серваке и с ней соседствует еще одна виртуалка.
Сервер В это виртуальная машина которая находится в цоде о устройстве и настройках которого мы не знаем.
Сторона предоставляющая нам виртуальный сервер В показывает тесты проведенные утилитой Atto benchmark и по результатам там скорость чтения/записи куда лучше чем на сервере А.
...
Рейтинг: 0 / 0
Разная скорость выполнения запросов на серверах
    #38926427
Фотография grufos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
d-e-larin,
d-e-larinСервер B поднимался из бэкапа сервера А.
попробуйте пересобрать статистику по таблицам - VACUUM ANALYZE <таблица>;

еще посмотрите на распределение времени выполнения одного и того же запроса при его последовательных подряд выполнениях
1-й..., 2-й..., 3-й..., и т.д.
по идее 1-й будет самым долгим, а с каждым последующим (до 2 или 3) будет все быстрее.
сервер подкачает в буфер все (по возможности) данные и таким образом исключит работу дисков из работы.

d-e-larinСервер В это виртуальная машина которая находится в цоде о устройстве и настройках которого мы не знаем.
Виртуальная машина - черный ящик.
Всегда можно ожидать каких-либо нюансов в работе.
Так как настройки postgresql одинаковы, а результаты простейших запросов так разнятся, то здесь сообщество мало чем сможет помочь.
Вам нужно связываться с ЦОД и просить предоставить вам полную информацию об оборудовании
...
Рейтинг: 0 / 0
Разная скорость выполнения запросов на серверах
    #38926441
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
d-e-larin,

авторСервер А это виртуальная машина расположенная на одном серваке и с ней соседствует еще одна виртуалка.
Сервер В это виртуальная машина которая находится в цоде о устройстве и настройках которого мы не знаем.
Сторона предоставляющая нам виртуальный сервер В показывает тесты проведенные утилитой Atto benchmark и по результатам там скорость чтения/записи куда лучше чем на сервере А.

C дисков у вас ничего не читается. Просто производительность 1 виртуального CPU ядра на B в 6 раз ниже чем на А.
Возьмите CPU benchmark какой либо и сравните.
(Альтернатива - сервере B просто сильно нагружен по процессору и тогда надо смотреть на графики загрузки CPU).
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Разная скорость выполнения запросов на серверах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]