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

Обе машины имеют по 4 гига оперы. 1 юзер.
...
Рейтинг: 0 / 0
21.08.2007, 19:43
    #34743033
Andrey Daeron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странная разница во времени исполнения запросов на P4 3200 и Opteron 2200
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
22.08.2007, 12:26
    #34744417
vvvua
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странная разница во времени исполнения запросов на P4 3200 и Opteron 2200
Код: 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
22.08.2007, 13:51
    #34744788
Andrey Daeron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странная разница во времени исполнения запросов на P4 3200 и Opteron 2200
Из того что я вижу - пенек быстрее по работе с памятью.
Есть какие-то бенчмарки на эту тему?
Но это такое суровое ИМХО, основанное на

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
25.08.2007, 14:14
    #34752401
Rattler
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странная разница во времени исполнения запросов на P4 3200 и Opteron 2200
А можно узнать параметры ядра по части shared memory?

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

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


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