Вы не зашли.
Вобщем страничка грузится 3-5 сек, а потом ожидание ответа может и минуту идти, через хром грузит 3-5 сек и все, даже через explorer до 7 сек, а мозила грузит без остановки, может в браузере что-то?
Чем дальше в лес - тем ближе вылез
Не в сети
Кстати, чтобы не гадать, перезапусти mysqld, который есть процессор с ключем --log-slow-queries Тогда будут логироваться все меленные запросы и увидим что именно так напрягает сервер.
Не в сети
Не в сети
Вообще я это Легенде советовал)) У него свой сервер и он это точно может сделать. У тебя вроде какой-то shared, не думаю, что это тебе подвластно, там mysqld с десяток клиентов держит
Не в сети
очередная проблема с сайтом как только появляется 500-700 человек онлайн, сервак тупо падает, уже взял физический сервер вот характеристики
FUP Athlon64 4GB AMD Athlon 64 X2 3400+ Dual-Core 2x1.8 GHz 4 GB 2x320GB SATA
админи сервера сказали
С точки зрения администрирования мы внесли в настройки mysql оптимальные настройки для Вашего сервера.
Судя по статистике, Вам необходимо оптимизировать запросы к базе ******, слишком много медленных запросов:
Uptime: 778327 Threads: 24 Questions: 15502655 Slow queries: 2335 Opens: 2895 Flush tables: 1 Open tables: 512 Queries per second avg: 19.917
Кто может помочь базу оптимизировать? а то мне кажется что если на сайтах более 50 тис новостей и стоит парочка плагинов то сайту можно сказать уже жопа.
Изменено legenda (2012-06-09 01:56:07)
Не в сети
Проверь запросы на использование индексов
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
ROZARD, что такое исполнение индексов?
В смысле: используются индексы в выборке))
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
Включаешь отладку и прогоняешь вручную запросы через phpmyadmin добавив перед запросом EXPLAIN...
Как пример взял запрос со страницы http://rozard.ngdemo.ru/forum/post514.html#514:
EXPLAIN SELECT p.id AS pid, p.message, p.author_id, p.author, p.tid, p.e_date, p.who_e_author, p.author_ip, p.c_data, u.reg, u.id AS uid, u.name, u.int_post, u.avatar, u.reputation, u.site, u.last, u.status, u.signature, u.mail, u.int_thank
FROM ng_forum_posts AS p
LEFT JOIN ng_users AS u ON u.id = p.author_id
WHERE p.tid = '1'
ORDER BY p.c_data ASC
LIMIT 280 , 20
В результате получил:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE p ref tid tid 4 const 257 Using where; Using filesort
1 SIMPLE u eq_ref PRIMARY PRIMARY 4 rozard.p.author_id 1
Из всей таблицы тебе в принципе важен только поле key.
possible_keys это индексы которые можно использовать при выборке
ref по которое идет сравнение...
Ну вот и анализируешь и дальше добавляешь если требуется в нужные места индесы... Только при добавлении индексов нужно учитывать количество связей по полям, т.е. при связки трех таблиц по трем полям то нужно создавать один индекс по трем полям)
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
Ну дай тогда доступ к бд, в адмику и тег отладки дабавь
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
[debug]{debug_queries}[/debug] Добавь в шаблон
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
Добавил индексы:
В таблицу 2z_cat_description индекс catid по полям: catid, is_on
В таблицу 2z_posters идекс active по полю active
В таблицу 2z_topplayers индекс scores по полям: scores, rating, country и индекс rating по полю rating
В таблицу 2z_news индекс news_catid по полям: approve, id и индекс postdate по полям: approve, mainpage, catid, postdate
В таблицу 2z_images индекс linked_ds по полям: linked_ds, linked_id
В таблицу 2z_newsvote индекс newsid по полю newsid
Удалил индексы из 2z_news:
Индекс post_date по полю post_date
Индекс news_catid по полю catid
Индекс news_postdate по полю postdate
Лучше стало или без изменений?
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
сложно пока сказать, надо реальную нагрузку на сайт, завтра скажу точно, а походу те изменения на чтото на сайте влияют или недолжно ниче поменятся?
Должно заметнее быстрее стать. Не могу сказать быстрее или так же, я не знаю как он работал до этого.
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
legenda, Это когда смотришь полную новость? Если да то обрати внимание на:
[ 11.0167 ] update 2z_news set views=views+1 where id = '101726'
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
вот у меня счас как на страничке новости
SQL queries:
[ 0.0018 ] select nc.*, ni.id as icon_id, ni.name as icon_name, ni.storage as icon_storage, ni.folder as icon_folder, ni.preview as icon_preview, ni.width as icon_width, ni.height as icon_height, ni.p_width as icon_pwidth, ni.p_height as icon_pheight from `2z_category` as nc left join `2z_images` ni on nc.image_id = ni.id order by nc.posorder asc
[ 0.1055 ] select * from 2z_users where authcookie = '4fbda592ce230517cb5c45eab4981a69' limit 1
[ 0.2076 ] select * from 2z_news where approve=1 and alt_name='irlandiya-horvatiya_-onlain-translyaciya355'
[ 0.00060000000000004 ] select c.*, u.avatar as `users_avatar` from 2z_comments c left join 2z_users u on c.author_id = u.id where c.post='101693' order by c.id
[ 9.6854 ] update 2z_news set views=views+1 where id = '101693'
[ 0.0029000000000003 ] SELECT * FROM 2z_posters WHERE active = 1
[ 0.00020000000000131 ] SELECT id FROM 2z_posters WHERE active = 0
[ 0.099400000000001 ] SELECT id, name, scores, country, flag, pos FROM 2z_topplayers where rating=1 ORDER BY scores DESC LIMIT 0,10
[ 0.0671 ] SELECT id, name, scores, country, flag, pos FROM 2z_topplayers where (country='Україна' and rating=1) ORDER BY scores DESC LIMIT 0,3
[ 0.0002999999999993 ] SELECT id, name, scores, country, flag, pos FROM 2z_topplayers where rating=2 ORDER BY scores DESC LIMIT 0,10
[ 0.0854 ] SELECT id, name, scores, country, flag, pos FROM 2z_topplayers where (country='Україна' and rating=2) ORDER BY scores DESC LIMIT 0,3
и на главной
SQL queries:
[ 0.0018 ] select nc.*, ni.id as icon_id, ni.name as icon_name, ni.storage as icon_storage, ni.folder as icon_folder, ni.preview as icon_preview, ni.width as icon_width, ni.height as icon_height, ni.p_width as icon_pwidth, ni.p_height as icon_pheight from `2z_category` as nc left join `2z_images` ni on nc.image_id = ni.id order by nc.posorder asc
[ 0.0754 ] select * from 2z_users where authcookie = '4fbda592ce230517cb5c45eab4981a69' limit 1
[ 0.1784 ] SELECT * FROM 2z_news WHERE (`approve` = '1') AND (`mainpage` = '1') order by pinned desc, postdate desc limit 0,50
[ 0.1071 ] select `description` from 2z_cat_description where `catid`='0' and `is_on`='1' limit 1
[ 0.00060000000000004 ] select * from 2z_images where id in (128996)
[ 0.00019999999999998 ] select * from 2z_images where id in (128938)
[ 0.00020000000000009 ] select * from 2z_images where id in (128873)
[ 0.076 ] select * from 2z_images where id in (128843)
[ 0.00019999999999998 ] select * from 2z_images where id in (128844)
[ 0.0569 ] select * from 2z_images where id in (128811)
[ 0.0406 ] select * from 2z_images where id in (128869)
[ 0.00019999999999998 ] select * from 2z_images where id in (128868)
[ 0.0002000000000002 ] select * from 2z_images where id in (128791)
[ 0.0277 ] select * from 2z_images where id in (128760)
[ 0.0785 ] select * from 2z_images where id in (128762)
[ 0.0762 ] select * from 2z_images where id in (128824)
[ 0.0739 ] select * from 2z_images where id in (128698)
[ 0.00019999999999998 ] select * from 2z_images where id in (128697)
[ 0.0115 ] select * from 2z_images where id in (128674)
[ 0.00019999999999998 ] select * from 2z_images where id in (128690)
[ 0.1039 ] select * from 2z_images where id in (128699)
[ 0.0253 ] select * from 2z_images where id in (128579)
[ 0.0377 ] select * from 2z_images where id in (128533)
[ 0.00019999999999998 ] select * from 2z_images where id in (128418)
[ 0.00019999999999998 ] select * from 2z_images where id in (128535)
[ 0.112 ] select * from 2z_images where id in (128502)
[ 0.0483 ] select * from 2z_images where id in (128534)
[ 0.00019999999999998 ] select * from 2z_images where id in (128419)
[ 0.0377 ] select * from 2z_images where id in (128415)
[ 0.0231 ] select * from 2z_images where id in (128396)
[ 0.0127 ] select * from 2z_images where id in (128383)
[ 0.0164 ] select * from 2z_images where id in (128352)
[ 0.00029999999999974 ] select * from 2z_images where id in (128332)
[ 0.0244 ] select * from 2z_images where id in (128209)
[ 0.00019999999999998 ] select * from 2z_images where id in (128208)
[ 0.0233 ] select * from 2z_images where id in (128210)
[ 0.00019999999999998 ] select * from 2z_images where id in (128152)
[ 0.00019999999999998 ] select * from 2z_images where id in (128211)
[ 0.0195 ] select * from 2z_images where id in (128008)
[ 0.00019999999999998 ] select * from 2z_images where id in (128028)
[ 0.0692 ] select * from 2z_images where id in (127986)
[ 0.0389 ] select * from 2z_images where id in (127941)
[ 0.0856 ] select * from 2z_images where id in (127894)
[ 0.0348 ] select * from 2z_images where id in (127899)
[ 0.0707 ] select * from 2z_images where id in (127898)
[ 0.0312 ] select * from 2z_images where id in (128331)
[ 0.1188 ] select * from 2z_images where id in (127272)
[ 0.0526 ] select * from 2z_images where id in (127700)
[ 0.0303 ] select * from 2z_images where id in (127584)
[ 0.0364 ] select * from 2z_images where id in (127574)
[ 0.031899999999999 ] select * from 2z_images where id in (127568)
[ 0.0561 ] select * from 2z_images where id in (127517)
[ 0.0057 ] select * from 2z_images where id in (127510)
[ 0.0463 ] select * from 2z_images where id in (127446)
[ 0.3973 ] SELECT count(*) as count FROM 2z_news WHERE (`approve` = '1') AND (`mainpage` = '1')
[ 0.060099999999999 ] SELECT * FROM 2z_posters WHERE active = 1
[ 9.9999999999767E-5 ] SELECT id FROM 2z_posters WHERE active = 0
[ 0.00020000000000042 ] SELECT id, name, scores, country, flag, pos FROM 2z_topplayers where rating=1 ORDER BY scores DESC LIMIT 0,10
[ 0.0402 ] SELECT id, name, scores, country, flag, pos FROM 2z_topplayers where (country='Україна' and rating=1) ORDER BY scores DESC LIMIT 0,3
[ 9.9999999999767E-5 ] SELECT id, name, scores, country, flag, pos FROM 2z_topplayers where rating=2 ORDER BY scores DESC LIMIT 0,10
[ 0.0238 ] SELECT id, name, scores, country, flag, pos FROM 2z_topplayers where (country='Україна' and rating=2) ORDER BY scores DESC LIMIT 0,3
Не в сети
legenda, Открываешь news.php находишь:
$mysql->query("update ".prefix."_news set views=views+1 where id = ".db_squote($row['id']));
1. В конец добавляешь limit 1, чтобы получилось:
$mysql->query("update ".prefix."_news set views=views+1 where id = ".db_squote($row['id']." limit 1"));
возможно поможет, но врятли)
2. Если первое не помогло и количества просмотров новости не так важно то просто удали этот кусок кода с условием или закоментируй
3.
// Update visits counter if we're not in emulation mode
if ((!$callingParams['emulate'])&&($callingParams['style'] == 'full')&&(intval($_REQUEST['page'])<2))
$mysql->query("update ".prefix."_news set views=views+1 where id = ".db_squote($row['id']));
изменяем на:
// Update visits counter if we're not in emulation mode
if ((!$callingParams['emulate'])&&($callingParams['style'] == 'full')&&(intval($_REQUEST['page'])<2)){
if(empty($_SESSION["shownews_{$row['id']}"])) $mysql->query("update ".prefix."_news set views=views+1 where id = ".db_squote($row['id']));
$_SESSION["shownews_{$row['id']}"] = "ubdate";
}
Тут уже это запрос тогда будет выполняться только один раз, при повторном просмотре запрос не выполнится.
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети