Kinokpk.com releaser 3 - CMS / торрент трекер / индексатор торрентов

Оптимизирован и безопасен, с уникальной рейтинговой системой и мультитрекерностью.
Текущее время: Пн сен 06, 2010 11:01 pm

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение

"Quote"
 Заголовок сообщения: 3.25 оптимизационный день
СообщениеДобавлено: Вт июл 20, 2010 1:13 am 
Не в сети
Sysop
Аватара пользователя

Зарегистрирован: Пн дек 15, 2008 10:42 pm
Сообщения: 2088
Откуда: Moscow
Товарищи программисты.
Версия все поднимается и поднимается, а оптимизация как-бы нет. Конечно, кеш юзается, но в настоящее время творится #&#*#)#:
[1] => 0.00043511390686035 [SELECT users.*,stylesheets.uri FROM users LEFT JOIN stylesheets ON users.stylesheet = stylesheets.id WHERE users.id = 1 AND confirmed=1]
[2] => 0.0005040168762207 [UPDATE LOW_PRIORITY users SET last_access = 1279571727 WHERE id=1]
[3] => 0.00046205520629883 [INSERT INTO sessions (sid, uid, username, class, ip, time, url, useragent) VALUES ('c6g1o3uxxxxe93', 1, 'ZonD80', 6, 'xxxx', 1279571727, '/', 'Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6') ON DUPLICATE KEY UPDATE sid = 'c6g1o3u86bhxxxxxe93', uid = 1, username = 'ZonD80', class = 6, ip = 'xxx', time = 1279571727, url = '/', useragent = 'Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6']
[4] => 0.00015497207641602 [SELECT * FROM cron WHERE cron_name IN ('pm_delete_sys_days','pm_delete_user_days')]
[5] => 0.057436943054199 [SELECT (SELECT GROUP_CONCAT(id) FROM messages WHERE location=1 AND receiver=1 AND unread=1 AND IF(archived_receiver=1, 1=1, IF(sender=0,added>1278275727,added>1276979727))) AS unread, (SELECT GROUP_CONCAT(id) FROM messages WHERE location=1 AND receiver=1 AND IF(archived_receiver=1, 1=1, IF(sender=0,added>1278275727,added>1276979727))) AS inbox, (SELECT GROUP_CONCAT(id) FROM messages WHERE saved=1 AND sender=1 AND IF(archived_receiver<>1, 1=1, IF(sender=0,added>1278275727,added>1276979727))) AS outbox, (SELECT GROUP_CONCAT(id) FROM torrents WHERE id NOT IN (34647,34651) AND added>1279540474) AS torrents, (SELECT GROUP_CONCAT(id) FROM comments WHERE id NOT IN (4923,4924,4925) AND added>1279540474) AS comments, (SELECT GROUP_CONCAT(id) FROM pollcomments WHERE added>1279540474) AS pollcomments, (SELECT GROUP_CONCAT(id) FROM newscomments WHERE added>1279540474) AS newscomments, (SELECT GROUP_CONCAT(id) FROM usercomments WHERE id NOT IN (1021,1023,1024,864,866,868,870,871,872,874,875,1005,1022) AND added>1279540474) AS usercomments, (SELECT GROUP_CONCAT(id) FROM reqcomments WHERE added>1279540474) AS reqcomments, (SELECT GROUP_CONCAT(id) FROM rgcomments WHERE added>1279540474) AS rgcomments, (SELECT GROUP_CONCAT(id) FROM pages WHERE id NOT IN (59) AND added>1279540474 AND class <= 6) AS pages, (SELECT GROUP_CONCAT(id) FROM pagecomments WHERE added>1279540474) AS pagecomments, (SELECT GROUP_CONCAT(id) FROM friends WHERE friendid=1 AND confirmed=0) AS friends, (SELECT GROUP_CONCAT(id) FROM users WHERE id NOT IN (1,9248,15953) AND added>1279540474) AS users, (SELECT GROUP_CONCAT(id) FROM reports) AS reports, (SELECT GROUP_CONCAT(id) FROM torrents WHERE moderatedby=0) AS unchecked]
[6] => 0.0012598037719727 [SELECT userid FROM peers GROUP by userid]
[7] => 0.00014090538024902 [SELECT * FROM cron WHERE cron_name IN ('rating_freetime','rating_enabled')]
[8] => 0.069021940231323 [SELECT (SELECT SUM(1) FROM peers WHERE seeder=1 AND userid=1) AS seeding, (SELECT SUM(1) FROM snatched LEFT JOIN torrents ON snatched.torrent=torrents.id WHERE snatched.finished=1 AND torrents.free=0 AND NOT FIND_IN_SET(torrents.freefor,userid) AND userid=1 AND torrents.owner<>1) AS downloaded]
[9] => 0.00021815299987793 [SELECT uid, time FROM sessions WHERE uid<>-1 AND time < 1279568127]
[10] => 7.7962875366211E-5 [DELETE FROM sessions WHERE time < 1279568127]
[11] => 0.00013995170593262 [SELECT * FROM cron WHERE cron_name IN ('last_cleanup','in_cleanup','in_remotecheck','num_cleaned','num_checked','remotecheck_disabled','last_remotecheck','autoclean_interval','remotecheck_interval')]
[12] => 0.00061607360839844 [(SELECT SUM(1) AS peers FROM peers WHERE seeder=1) UNION (SELECT SUM(1) AS peers FROM peers WHERE seeder=0)]
[13] => 0.0069208145141602 [SELECT id, username FROM users WHERE id = (SELECT MAX(id) FROM users WHERE users.confirmed=1)]
[14] => 0.00031089782714844 [SELECT DISTINCT s.uid, s.username, s.class, s.ip FROM sessions AS s WHERE s.time > 1279571427 ORDER BY s.class DESC]


Итак разберем по запросам:
Цитата:
1 - достает данные юзверя и темы
2 - обновляет поле last_access у юзверя (надо убрать и привязать к сессиям (подробнее 10 запрос)
3 - создает/обновляет сессию юзверя
4 - достает данные из крона, чтобы сформировать блок уведомлений (считаю что надо доставать данные из крона, как из cache_stats (только без кеша)
5 - собственно формируется из этого запроса блок уведомлений (грузно, но быстро)
6 - блок
7 - опять же данные из крона для окошка о понижении рейтинга
8 - достает данные из пиров опять же для окошка о понижении рейтинга (можно конечно попробовать схитрожопиться и объединить с 5 запросом, но тут встает вопрос отключенной системы рейтинга)
9 - запрос для обновления статистики последнего входа (закрытия сессии) для юзверей
10 - стандартная операция очистки сессий (чистятся они на страницах, а не в клинапе)
11 - формирование записи о кроне для дебаг-режима
12 - блок
13 - блок
14 - блок

Собственно получается, что релизер на главную убивает 9-10 запросов в зависимости от дебаг-режима, которые как я посоображал можно свернуть в 6-7. Может у вас есть еще идеи? В принципе, по главной понятно, хотелось бы увидеть такие расписки по browse, userdetails и т.д., ибо у меня нет времени заниматься всеми страницами одновременно и я надеюсь на вашу помощь.
Как мне помочь?
Цитата:
1. Скачайте и установите версию experimental, путем импорта sql-файла и копирования каталогов
2. Импортируйте языки в базу с помощью langparser.php
3. Дерзайте!

Я включил класс ЧПУ без реврайтов, кто хочет прописывать реврайты есть файл seo.class.with_rewrites.php, который нужно поместить в classes/seo/seo.class.php и файлы make_category_rewrites_xxxx.php для каждого из юзабельных типов веб-серверов. Естественно, реврайты тут генерируются только для категорий и надо будет дописать еще.

_________________
З.Ы. Зачем тебе трекер? Снеси его и спи спокойно © Reaplay
Кто то еще не отключил magic_quotes?)) Тогда мы идем к Вам))) © Juster
Вы всегда можете помочь материально создателю движка (по вашему желанию), мои реквизиты:
Webmoney: U361584411086 E326225084100 R153898361884 Z113282224168, Yandex.деньги: 41001423787643
Paypal: zond80@gmail.com
Мой сайт: Фильмы и видео для кпк и Социальная сеть TorrentsBook.com , ищутся релизеры и модераторы!
Заранее спасибо за поддержку.


Вернуться к началу
 Профиль  
 

"Quote"
 Заголовок сообщения:
СообщениеДобавлено: Чт июл 22, 2010 4:22 pm 
Не в сети

Зарегистрирован: Пн окт 05, 2009 9:57 pm
Сообщения: 20
Я сделал отдельный крон, запускаемый через Unix cron. Поэтому, это решение не для всех.
В него вынес различные очистки, подсчеты пиров(локальных и удаленных), подсчет рейтинговых очков. Вызовы клинапов убрал со страниц.
Ну и смысл этого в том, что нужно освободить веб-морду трекера от сервисных функций, пользователь не должен ждать выполнения этих запросов.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


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

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB