Для опытных прогеров. Помогите определить, где именно криво написан код
Только для очень прошаренных спецов :)
Есть сайт, работает шустро. Но как только активируем функцию Livescore (каждые 20 сек у юзера обновляются результаты спортивных матчей), то сильно возрастает нагрузка на сайт. И когда больше 100 юзеров онлайн, то совсем тяжело сайт работает. Как только отключаем – сразу все приходит в норму, сайт летает и на 200-300 юзерах онлайн.
Суть такая. В матче забит гол – админ в админке у соответствующего матча изменил счет и воспроизвел звук гола. Автоматически у юзера на сайте изменяется счет, мигает строка с этим матчем, проигрывается звук гола. Запрос на то, есть ли изменения, отправляется каждые 20 секунд. Если есть изменения – берем из файла новый счет, проигрываем звук, мигает строчка.
(Так задумано по крайней мере, а что там разработчик написал, я не понимаю :)
Подгружаем данные из html файла (blades.php) – все равно большая нагрузка.
Вот код:
$page = '';
$livescore_update = 0;
if(File::exists(env('DOC_ROOT')."/resources/views/pages/livescore_live_".$this->lang.".blades.php")){
$livescore_update = 1;
$page = view('pages.livescore_live_'.$this->lang)->render();
if((mb_stripos($page, 'audio') !== false || mb_stripos($page, 'row animation') !== false) && filemtime(env('DOC_ROOT').'/resources/views/pages/livescore_live_'.$this->lang.'.blades.php') < strtotime(Carbon::now()->subSeconds(env('LIVESCORE_TIME')))){
render_pages('livescore_live');
$page = view('pages.livescore_live_'.$this->lang)->render();
}
}
else
if(File::exists(env('DOC_ROOT')."/resources/views/pages/livescore_anounce_".$this->lang.".blades.php"))
$page = view('pages.livescore_anounce_'.$this->lang)->render();
return response()->json([
'status' => true,
'livescore' => $livescore_update,
'page' => $page
]);