процедура обновления

Ответить


Этот вопрос предназначен для предотвращения автоматической отправки форм спам-ботами.
Смайлики
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[flash] ОТКЛЮЧЕН
[url] ВКЛЮЧЁН
Смайлики ВКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: процедура обновления

Re: процедура обновления

Сообщение Alex Keda » 2010-09-26 12:51:19

4 оптерона - это совсем не мало.
тредов по топу 27 - т.е. юзаться должны все ядра...

Re: процедура обновления

Сообщение serge » 2010-09-26 12:46:40

Если все БД в памяти, то тут уже все упираться только в проц должно. По поводу медленности... смотреть нужно, возможно и получится ускорить немного.
===
А вообще смотреть нужно конечно в сторону оптимизации БД (структуры и возможно запросов в скриптах). Думаю на нашем примере это вполне возможно сделать. База уже достаточно большая (хотя еще и не огромная ;) ).

Re: процедура обновления

Сообщение Alex Keda » 2010-09-26 12:42:57

обаза вся в раму влезает
тока толку от этого ноль.
некоторые операции на InnoDB медленно выполняются

Re: процедура обновления

Сообщение serge » 2010-09-26 8:20:06

Можно конечно покрутить конфиг секции InnoDB, но тут желательно чтобы памяти было достаточно, чтобы вся БД в пул поместилась. Кеши попробовать поувеличивать.
Если в плане структуры БД, то одназначно партиционинг больших таблиц по годам.

Re: процедура обновления

Сообщение Alex Keda » 2010-09-25 15:10:36

да, если совсем делать нечего будет - может сделать каконить график по ServersUpTime
?

Re: процедура обновления

Сообщение Alex Keda » 2010-09-25 15:03:47

я не к этому веду...

Код: Выделить всё

440623  h9514_bill      localhost       h9514_bill      Query   1       Sorting result  SELECT `ID` FROM `Tasks` WHERE (`IsActive` = 'yes' AND `IsExecuted` = 'no' AND `ExecuteDate` < UNIX_TIMESTAMP() AND `Errors` < 5) ORDER BY `CreateDate` DESC LIMIT 0, 1
440623  h9514_bill      localhost       h9514_bill      Query   2       Sorting result  SELECT `ID` FROM `Tasks` WHERE (`IsActive` = 'yes' AND `IsExecuted` = 'no' AND `ExecuteDate` < UNIX_TIMESTAMP() AND `Errors` < 5) ORDER BY `CreateDate` DESC LIMIT 0, 1
440623  h9514_bill      localhost       h9514_bill      Query   1       Sorting result  SELECT `ID` FROM `Tasks` WHERE (`IsActive` = 'yes' AND `IsExecuted` = 'no' AND `ExecuteDate` < UNIX_TIMESTAMP() AND `Errors` < 5) ORDER BY `CreateDate` DESC LIMIT 0, 1
440623  h9514_bill      localhost       h9514_bill      Query   2       Sorting result  SELECT `ID` FROM `Tasks` WHERE (`IsActive` = 'yes' AND `IsExecuted` = 'no' AND `ExecuteDate` < UNIX_TIMESTAMP() AND `Errors` < 5) ORDER BY `CreateDate` DESC LIMIT 0, 1
440623  h9514_bill      localhost       h9514_bill      Query   1       Sorting result  SELECT `ID` FROM `Tasks` WHERE (`IsActive` = 'yes' AND `IsExecuted` = 'no' AND `ExecuteDate` < UNIX_TIMESTAMP() AND `Errors` < 5) ORDER BY `CreateDate` DESC LIMIT 0, 1

не находите что долго?
таблица Tasks - ~179,796 записей
я уже предлагал сделать расчленёнку по годам чтоли...
ещё болше ServersUpTime - 1,520,979 - но, она MyISAM - там выборки гораздо быстрей
Events - 316,166 - опять же MyISAM - всё без проблем

Re: процедура обновления

Сообщение B0nuse » 2010-09-25 6:12:06

Нужно разбить запрос по лимитам и обновлять страницу на новый урл. Примерно так идет процесс обновления в phpbb3 и других форумах...

процедура обновления

Сообщение Alex Keda » 2010-09-25 0:35:25

собсно - процесс "структурировать базу данных" - он слишком долгий.
мне даже пришлось увеличить таймаут для ФастСГИ со 100 до 1000 секунд.
у нас большая база. лучше уже сейчас начинать задумываться что с этим делать.
если нужны доступы, посмотреть что там такое большое и долгое - выдам.

Вернуться к началу