bimcom

Рейтинг
170
Регистрация
23.10.2006
LEOnidUKG:
Да оно уже сейчас выполняется доли секунды. Опять же говорю сейчас проблема лишь как быстро считать все ID из категории 1 раз и всё.

АА :) чета я пропустил сообщение что проблема решена :)

LEOnidUKG:
Была бы статичная Таблица, то можно было бы сделать. А так то данные меняются автоматически.

Раз в час поменялись - повторили сортировку и так на автомате.

Проверить же не сложно - будет толк на вашей системе или нет, заодно оцените сколько выполняется сортировка и если после неё запрос в 15 сек выполнится за 7 сек - это уже результат.

LEOnidUKG:
Про какую именно сортировку вы имеете ввиду? То что она в PHP проходит?

Саму базу отсортировать.

ALTER TABLE `cms_freepages` ORDER BY `id` DESC

LEOnidUKG:

Ну что я могу поделать? Вас поздравляю, у меня всё по другому и всё работает медленее. Возможно зависит от настроек или же серверной машины.

Я вообще-то помочь хотел, а не хвастаться.

Что мешает сортирнуть базу в обратном порядке и не использовать сортировку в каждом запросе?

PS.

А индекс базы полностью помещается в RAM? - памяти выделено достаточно? чтобы не перечитывать индексы с диска?

Я в свое время очень увлеченно тюнил свою доску объявлений - и постраничный вывод был ахилесовой пятой.

LEOnidUKG:

SELECT * FROM `cms_freepages` WHERE cat=2 ORDER id DESC LIMIT 37710, 30

Чем дальше "в лес" т.е. листаем глубже, сервер просто умирает на таком запросе и выполняется по 15 секунд. А как боты набегут и давать клацать по 10 таких запросов.

Сейчас проверил на своей базе - 400 000 записей 510МБ , 40 разных категорий

SELECT SQL_NO_CACHE * FROM `data` WHERE kat=5 ORDER BY id DESC LIMIT 37710, 30

0.8 сек.

если отсортировать базу в обратном порядке - чтобы избежать сортировки

SELECT SQL_NO_CACHE * FROM `data` WHERE kat=5 LIMIT 37710, 30

0,3 сек.

с кэшированием так ваще агонь.

PS.

kat tinyint(4)

в 5 категории 82 000 записей

ради интереса проверьте как быстро выполняется

SELECT id FROM `cms_freepages` WHERE cat=2 ORDER id DESC LIMIT 37710, 30

в вашем первоначальном выцепляются все поля - ответ получается длинным и не попадает в кэш.

А ваше решение

LEOnidUKG:

$result=mysql_query("SELECT id FROM `cms_freepages` WHERE cat=14");
while ($rowclubs = @mysql_fetch_array($result))
{
$arrayid[]=$rowclubs['id'];
}
$cnt=sizeof($arrayid);
$newmass=array_chunk(array_reverse($arrayid),25);

echo 'SELECT * FROM `cms_freepages` WHERE id in ('.implode(',',$newmass[11]).') ORDER BY ID';

Отображает строки 0 - 24 ( 25 всего, запрос занял 0.1117 сек.)

Летает по причине того что есть всего 19 разных запросов, а тех,когда выполняется с лимитом, 100500 , которые удачно ложатся в кэш и благодаря частомы выполнению там поселяются навсегда, но ровно до того момента когда тело ответа <1МБ (по дефолту в MySQL)

А специально для темных:

Почему ресурсы предоставляются не соизмеримые на XEN и OpenVZ?

Как видите подсчеты от и до разнятся в 10 раз - не понятно сколько трафика сгенерируют ваши рекламные материалы - от 1 до 10 ТБ.

Вам скорее всего выгоднее будет взять VPS ссылки с которого будут проставлять партнеры (не думаю что траф там будет большой) а вот раздачу на своей площадке с 10 000 уников осуществить с площадок вебмастеров - пошушукайте тут на форуме - наверняка найдете того кто в Германии берет сервак за 50 евро и у него остаются не использованные 5-8ТБ трафика.

Зачем деление на VPS и партнера? - чтобы экстренно не менять ссылки на сайтах партнеров, если вдруг вебмастер с форума подведет.

И тогда проведение раздачи своих роликов вам обойдется в $10-$30 но придется самому пошушукать, ну или го в CDN за $100-$500.

PS.

Магу организовать раздачу за $100 при планке 10ТБ.

NAGI:

На счет цен, на сколько я понимаю в месяц мне все это хозяйство может выливаться в 300 - 500 долларов :( Так мне на вскидку подсчитал уже один хостинг, не буду называть его имя. Как думаете, цифра адекватная?

Такое хозяйство всего то выльется в пару десятков $

Если конечно не разместите свои ролики на облачном какомнить хостинге с конским ценником за траф.

т.к. по делу у вас основная затратная статья - трафик - которого потребуется не больше 1ТБ - а это копейки, чтобы стоить дорого.

Так что $10-$30 потолок.

Zizizi:
я вас наверно удивлю но такой хостинг есть и за 100 руб. меня просто выперли оттуда поэтому ищу замену

Ну так расписывайте - за что поперли - интересно же )

а если по делу то у этих людей тариф подойдет

http://aminahost.ru/hosting.html

2 GB 90.00 руб.

4 GB 172.50 руб.

ну или как советуют слабенький VDS с 512 памяти + разово купить панель ИСП менеджера + разовую настройку администратора.

Всего: 795