Henüz CPU problemini aşamadık. Basit bir post ve login işleminde, %60 CPU buluyor sistem.
Sistemimiz istek gönderilen site.com/{subdomain} şeklinde {subdomain} üzerinden çalışıyor. {subdomain} eğer veritabanında var ise veritabanına bağlanıp ilgili {subdomain} e ait veriler çekilerek oturum açma ve yayın bilgilerinin çekilmesi işlemleri yapılıyor.
Route içeriği:
Route::get('{subdomain}/giris', 'Auth\DinleyiciLoginController@index')->name('dinleyici.login');
Route::post('giris', 'Auth\DinleyiciLoginController@login')->name('dinleyici.login.post');
Route::get('{subdomain}/cikis', 'Auth\DinleyiciLoginController@logout')->name('dinleyici.logout');
Route::middleware('isDinleyici')->group(function () {
Route::get('{subdomain}', 'Auth\DinleyiciController@index')->name('dinleyici.anasayfa');
Route::post('yayinYenile', 'Auth\DinleyiciController@yenile')->name('dinleyici.yayinYenile');
});
DinleyiciLoginController sayfası içeriği
public function index($subdomain)
{
$yayinVarMi = Yayinlar::where('subdomain' , $subdomain)->count();
if($subdomain == '') {
$yonlendirme = false;
} elseif($yayinVarMi>0) {
$yayinBilgisi = Yayinlar::where('subdomain', $subdomain)->first();
$yonlendirme = true;
} else {
$yonlendirme = false;
}
if($yonlendirme) {
$data['subdomain'] = $subdomain;
return view('front.auth.login', $data);
} else {
return abort(404);
}
}
DinleyiciController sayfası içeriği
public function index($subdomain)
{
$domain = $subdomain;
$sorgu = Yayin::where('subdomain' , $subdomain);
$yayinVarMi = $sorgu->count();
if($domain == '') {
return '';
} elseif($yayinVarMi>0) {
$yayinBilgisi = $sorgu->first();
if((session('yayin_id') == $yayinBilgisi->id)) {
if($yayinBilgisi->sunucu_linki2 == '') {
$data['yayinLinki'] = $yayinBilgisi->sunucu_linki1;
} else {
$data['yayinLinki'] = $yayinBilgisi->sunucu_linki2;
}
$data['yayinBilgisi'] = $yayinBilgisi;
$data['subdomain'] = $domain;
return view('front.anasayfa.index4', $data);
} else {
session()->flush();
return redirect()->route('dinleyici.login', $subdomain);
}
} else {
return '';
}
}
isDinleyici Middleware içeriği:
public function handle($request, Closure $next)
{
$domain = ltrim($request->getRequestUri(), '/');
$yayinVarMi = Yayin::where('subdomain' , $domain)->count();
if($domain == '') {
$yayinBilgisi = '';
$yonlendirme = false;
} elseif($yayinVarMi > 0) {
$yayinBilgisi = Yayin::where('subdomain', $domain)->first();
$yonlendirme = true;
} else {
$yayinBilgisi = '';
$yonlendirme = false;
}
if(session('dinleyiciOturum')) {
return $next($request);
} else {
if($yonlendirme AND (session('yayin_id') == $yayinBilgisi->id)) {
return redirect()->route('dinleyici.login', ['subdomain' => $domain]);//abort(403);
} else {
return redirect()->route('dinleyici.login', ['subdomain' => $domain]);//abort(403);
}
}
}