powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Странная разница во времени исполнения запросов на P4 3200 и Opteron 2200
6 сообщений из 6, страница 1 из 1
Странная разница во времени исполнения запросов на P4 3200 и Opteron 2200
    #34743003
vvvua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем хеллоу!
Одна и та же версия базы и версия конфигов.
Запрос на одной машине выполняется 200мс(Амд64), а на другой 100мс (Пень).
Не пойму в чем косяк... Или это слишком маленькие различия и база маленькая, а дальше будут другие результаты?
На оптероне (2 2-х ядреных проца, 2200 модель)аппаратный RAID 5 с 8 винтами, из них 1 резервный (hot spare), 64 бит Debian Linux.
А пенек - обычная десктопная машина, 32 бит Debian Linux, IDE винт.

Обе машины имеют по 4 гига оперы. 1 юзер.
...
Рейтинг: 0 / 0
Странная разница во времени исполнения запросов на P4 3200 и Opteron 2200
    #34743033
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vvvuaВсем хеллоу!
Одна и та же версия базы и версия конфигов.
Запрос на одной машине выполняется 200мс(Амд64), а на другой 100мс (Пень).
Не пойму в чем косяк... Или это слишком маленькие различия и база маленькая, а дальше будут другие результаты?
На оптероне (2 2-х ядреных проца, 2200 модель)аппаратный RAID 5 с 8 винтами, из них 1 резервный (hot spare), 64 бит Debian Linux.
А пенек - обычная десктопная машина, 32 бит Debian Linux, IDE винт.

Обе машины имеют по 4 гига оперы. 1 юзер.
1. Можно например бросить план выполнения в студию. Уже будет неплохо.
2. Маленькая - или не маленькая из описания не видно совсем. Скока записей? Шо за запросы? Ширина записей? В общем много вопросов.
3. У пенька - тактушка повыше будет, йо?
4. 64 меделенее чем 32, йо?
5. Версия - это хорошо, но конфиги в некоторых дистрибах "доправляются" до других характеристик. Неплохо было бы сравнить.

ЗЫ У Субару езда накатом хуже чем у 8-ки
...
Рейтинг: 0 / 0
Странная разница во времени исполнения запросов на P4 3200 и Opteron 2200
    #34744417
vvvua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
//На пеньке:
explain analyze select st.starid,st.sectorid,st.startype,st.starname,st.starsize,st.orbit_count,stm.star_x,stm.star_y from star st,starmap stm where st.starid=stm.starid and stm.starid in (select starid from starmap where star_x>- 100  and star_y>- 100  and  star_x< 100  and star_y< 100  and starid in (select starid from player_starmap where playerid= 7 ));

"Hash Join (cost=879.29..1226.28 rows=5735 width=50) (actual time=62.581..88.096 rows=6294 loops=1)"
" Hash Cond: (starmap.starid = st.starid)"
" -> Hash IN Join (cost=652.11..884.40 rows=5735 width=32) (actual time=44.145..58.614 rows=6294 loops=1)"
" Hash Cond: (stm.starid = starmap.starid)"
" -> Seq Scan on starmap stm (cost=0.00..109.97 rows=6497 width=16) (actual time=0.015..4.116 rows=6497 loops=1)"
" -> Hash (cost=580.42..580.42 rows=5735 width=16) (actual time=44.071..44.071 rows=6294 loops=1)"
" -> Hash Join (cost=283.18..580.42 rows=5735 width=16) (actual time=20.372..38.092 rows=6294 loops=1)"
" Hash Cond: (starmap.starid = player_starmap.starid)"
" -> Seq Scan on starmap (cost=0.00..174.94 rows=6495 width=8) (actual time=0.023..7.644 rows=6338 loops=1)"
" Filter: ((star_x > -100) AND (star_y > -100) AND (star_x < 100) AND (star_y < 100))"
" -> Hash (cost=211.47..211.47 rows=5737 width=8) (actual time=20.307..20.307 rows=6453 loops=1)"
" -> HashAggregate (cost=154.10..211.47 rows=5737 width=8) (actual time=11.582..15.675 rows=6453 loops=1)"
" -> Seq Scan on player_starmap (cost=0.00..137.59 rows=6605 width=8) (actual time=0.024..5.553 rows=6453 loops=1)"
" Filter: (playerid = 7)"
" -> Hash (cost=145.97..145.97 rows=6497 width=42) (actual time=18.412..18.412 rows=6497 loops=1)"
" -> Seq Scan on star st (cost=0.00..145.97 rows=6497 width=42) (actual time=0.019..8.122 rows=6497 loops=1)"
"Total runtime: 91.217 ms"

//Тот-же запрос, но с 
//set enable_seqscan=off;

"Merge Join  (cost=647.24..1367.69 rows=5735 width=50) (actual time=0.205..96.277 rows=6294 loops=1)"
"  Merge Cond: (starmap.starid = st.starid)"
"  ->  Merge IN Join  (cost=647.24..1018.23 rows=5735 width=32) (actual time=0.153..70.804 rows=6294 loops=1)"
"        Merge Cond: (stm.starid = starmap.starid)"
"        ->  Index Scan using fki_star_to_star_ref on starmap stm  (cost=0.00..225.71 rows=6497 width=16) (actual time=0.045..6.680 rows=6497 loops=1)"
"        ->  Materialize  (cost=647.24..704.59 rows=5735 width=16) (actual time=0.101..47.183 rows=6294 loops=1)"
"              ->  Merge IN Join  (cost=0.00..641.50 rows=5735 width=16) (actual time=0.090..35.870 rows=6294 loops=1)"
"                    Merge Cond: (starmap.starid = player_starmap.starid)"
"                    ->  Index Scan using fki_star_to_star_ref on starmap  (cost=0.00..290.68 rows=6495 width=8) (actual time=0.031..10.141 rows=6338 loops=1)"
"                          Filter: ((star_x > -100) AND (star_y > -100) AND (star_x < 100) AND (star_y < 100))"
"                    ->  Index Scan using fki_player_star_restrictions on player_starmap  (cost=0.00..260.90 rows=6605 width=8) (actual time=0.051..8.876 rows=6453 loops=1)"
"                          Filter: (playerid = 7)"
"  ->  Index Scan using star_starid_idx on star st  (cost=0.00..261.71 rows=6497 width=42) (actual time=0.044..6.806 rows=6497 loops=1)"
"Total runtime: 99.959 ms"
//На АМД

"Hash Join  (cost=870.34..1209.09 rows=5631 width=50) (actual time=125.664..187.271 rows=6294 loops=1)"
"  Hash Cond: (starmap.starid = st.starid)"
"  ->  Hash IN Join  (cost=643.16..869.29 rows=5631 width=32) (actual time=98.813..135.437 rows=6294 loops=1)"
"        Hash Cond: (stm.starid = starmap.starid)"
"        ->  Seq Scan on starmap stm  (cost=0.00..112.97 rows=6497 width=16) (actual time=0.007..11.650 rows=6497 loops=1)"
"        ->  Hash  (cost=572.77..572.77 rows=5631 width=16) (actual time=98.762..98.762 rows=6294 loops=1)"
"              ->  Hash Join  (cost=281.69..572.77 rows=5631 width=16) (actual time=49.354..86.320 rows=6294 loops=1)"
"                    Hash Cond: (starmap.starid = player_starmap.starid)"
"                    ->  Seq Scan on starmap  (cost=0.00..177.94 rows=6495 width=8) (actual time=0.018..13.036 rows=6338 loops=1)"
"                          Filter: ((star_x > -100) AND (star_y > -100) AND (star_x < 100) AND (star_y < 100))"
"                    ->  Hash  (cost=211.28..211.28 rows=5633 width=8) (actual time=49.296..49.296 rows=6453 loops=1)"
"                          ->  HashAggregate  (cost=154.95..211.28 rows=5633 width=8) (actual time=25.124..37.055 rows=6453 loops=1)"
"                                ->  Seq Scan on player_starmap  (cost=0.00..138.78 rows=6470 width=8) (actual time=0.014..12.208 rows=6453 loops=1)"
"                                      Filter: (playerid = 7)"
"  ->  Hash  (cost=145.97..145.97 rows=6497 width=42) (actual time=26.833..26.833 rows=6497 loops=1)"
"        ->  Seq Scan on star st  (cost=0.00..145.97 rows=6497 width=42) (actual time=0.012..13.184 rows=6497 loops=1)"
"Total runtime: 198.314 ms"

// И второй запрос, соответсвенно

"Merge Join  (cost=648.53..1368.52 rows=5631 width=50) (actual time=0.085..187.024 rows=6294 loops=1)"
"  Merge Cond: (starmap.starid = st.starid)"
"  ->  Merge IN Join  (cost=648.53..1020.18 rows=5631 width=32) (actual time=0.068..136.814 rows=6294 loops=1)"
"        Merge Cond: (stm.starid = starmap.starid)"
"        ->  Index Scan using fki_star_to_star_ref on starmap stm  (cost=0.00..228.71 rows=6497 width=16) (actual time=0.019..12.096 rows=6497 loops=1)"
"        ->  Materialize  (cost=648.53..704.84 rows=5631 width=16) (actual time=0.041..88.144 rows=6294 loops=1)"
"              ->  Merge IN Join  (cost=0.00..642.90 rows=5631 width=16) (actual time=0.034..64.104 rows=6294 loops=1)"
"                    Merge Cond: (starmap.starid = player_starmap.starid)"
"                    ->  Index Scan using fki_star_to_star_ref on starmap  (cost=0.00..293.68 rows=6495 width=8) (actual time=0.012..14.311 rows=6338 loops=1)"
"                          Filter: ((star_x > -100) AND (star_y > -100) AND (star_x < 100) AND (star_y < 100))"
"                    ->  Index Scan using fki_player_star_restrictions on player_starmap  (cost=0.00..260.79 rows=6470 width=8) (actual time=0.015..13.653 rows=6453 loops=1)"
"                          Filter: (playerid = 7)"
"  ->  Index Scan using star_starid_idx on star st  (cost=0.00..261.71 rows=6497 width=42) (actual time=0.011..12.672 rows=6497 loops=1)"
"Total runtime: 198.373 ms"

Как видно, строк не более 7000.
...
Рейтинг: 0 / 0
Странная разница во времени исполнения запросов на P4 3200 и Opteron 2200
    #34744788
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из того что я вижу - пенек быстрее по работе с памятью.
Есть какие-то бенчмарки на эту тему?
Но это такое суровое ИМХО, основанное на

P4: ~4мсек
Код: plaintext
HashAggregate (cost= 154 . 10 .. 211 . 47  rows= 5737  width= 8 ) (actual time= 11 . 582 .. 15 . 675  rows= 6453  loops= 1 )"

AMD ~12мсек
Код: plaintext
HashAggregate  (cost= 154 . 95 .. 211 . 28  rows= 5633  width= 8 ) (actual time= 25 . 124 .. 37 . 055  rows= 6453  loops= 1 )"

По идее вся база прекеширована в памяти.

ЗЫ возможно это и есть тормоза 64 vs 32.
...
Рейтинг: 0 / 0
Странная разница во времени исполнения запросов на P4 3200 и Opteron 2200
    #34752401
Rattler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А можно узнать параметры ядра по части shared memory?

Вывод sysctl -a | grep shm можно сюда забросить?
...
Рейтинг: 0 / 0
Странная разница во времени исполнения запросов на P4 3200 и Opteron 2200
    #34755572
vvvua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Opteron:
kernel.shmmax = 1000000000
kernel.shmall = 2097152
kernel.shmmni = 4096

Pentium:
kernel.shmmax = 2000000000
kernel.shmall = 2097152
kernel.shmmni = 4096
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Странная разница во времени исполнения запросов на P4 3200 и Opteron 2200
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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