İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Cpu neden artar...!!!

S

secret ^ love

Misafir
selam arkadaslar sizlere benim bir sorum olacak.
Cpu bir forumda neden artar.Yani ne sebeler cpu nun artmasina neden olur.Saldiri hek gibi konular haricinde.ne gibi ozellikler cpu yu artirir bi bilgi verirseniz sevinirim ..tskrlr
 

Priapos

0
İyinet Üyesi
Katılım
6 Ekim 2006
Mesajlar
2,241
Reaction score
2
Konum
Eskişehir
neden msyql sorgulari yani ne olurki bu sorgularda artirir..biraz aciklarsaniz sevinirim

mysql Sorgusu Arttıkça.. Makina Yorulur..
O Nedenle Forumlarda Her 60 sn. de bir arama yapmaya izin vardır.
Mesela... Sadece Bir Örnek.. Mysql Sorgusu Olarak En çok Yoran Aramadır.

Bir Örnek Daha Vereyim ki Bugün Kendimi Tanıyamaz Bir hale Geldim..
Sen Dağınık odanda Birşey Ara Saatlerce CPU'nun Arttığını Göreceksin.
 

Mywedding

1
İyinet Üyesi
Katılım
26 Eylül 2006
Mesajlar
5,893
Reaction score
96
Konum
www.odatv.com
neden msyql sorgulari yani ne olurki bu sorgularda artirir..biraz aciklarsaniz sevinirim
aslında bana kalmaz burada açıklamak çünkü tam bilmiyorum , ama kullanıcı sayısı artıp ,mysql sorguları çoğalınca cpu ya yükleniyor , ram yükseltmek bir çözüm , ama daha iyisi server sizinse , optimize ettirmeniz gerekir :( galiba :)

forum sitelri çok cpu yiyor , başa dert yani kolay gelsin
 
S

secret ^ love

Misafir
mysql Sorgusu Arttıkça.. Makina Yorulur..
O Nedenle Forumlarda Her 60 sn. de bir arama yapmaya izin vardır.
Mesela... Sadece Bir Örnek.. Mysql Sorgusu Olarak En çok Yoran Aramadır.

Bir Örnek Daha Vereyim ki Bugün Kendimi Tanıyamaz Bir hale Geldim..
Sen Dağınık odanda Birşey Ara Saatlerce CPU'nun Arttığını Göreceksin.

bilgi icin tesekurler
 
S

secret ^ love

Misafir
aslında bana kalmaz burada açıklamak çünkü tam bilmiyorum , ama kullanıcı sayısı artıp ,mysql sorguları çoğalınca cpu ya yükleniyor , ram yükseltmek bir çözüm , ama daha iyisi server sizinse , optimize ettirmeniz gerekir :( galiba :)

forum sitelri çok cpu yiyor , başa dert yani kolay gelsin

daha 5000 kullanici yeni oldu ve arti ramde 2 gb ram ..sasdim kaldim
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
66
Konum
Sakarya
neden msyql sorgulari yani ne olurki bu sorgularda artirir..biraz aciklarsaniz sevinirim

SQL sorgulari tablolardan yapilir.
Tablolari, yapilandirilmis dosya gibi dusunebilirsiniz.
Tablo boyu ne kadar kucuk olursa SQL sorgulari o kadar hizli calisir.

+ MySQL o tabloyu acip okur icindeki veriyi bulur sizve verir.

Basit bir ornek:
Diyelimki MySQL sizsiniz...
1. Notepad ile 5K lik bir dosyayi actiniz. 'Adana Mersin' diye arattirdiniz. Arama sonucundaki tum 'Adana-Mersin' leri Notepad ile actiginiz yeni bir dosyaya koydunuz. Bu islem toplam 1 dakikanizi alsin.
2. Notepad ile 2Mb lik bir dosta actiniz. Sadece dosyanin acilmasi 120 saniye sursun. Arama sonucundaki tum 'Adana-Mersin' leri Notepad ile actiginiz yeni bir dosyaya koydunuz. Bu islem toplam 1 saatinizi alsin.

Sonuc: Tablo boyu buyudukce, harcanan CPU ve I/O artar, sorgu sureleri uzar.

Tablo boyunun buyuyecegini hesaplayan MySQL ve benzeri veritabani yaraticilari, INDEX denen objeleri yaratmislar. Indexi bir tablodaki bir verinin nerede oldugu bilgisini saklayan baska bir dosyadir. Hani kitaplarin basinda hangi konunun hangi sayfada, kitaplarin sonunda hangi kelimenin hangi sayfalarda gectigi yazilirya, iste index odur. Aradiginizi hizlica bulmanizi saglar.

Hizlica bulunca CPU ve I/O harcamasi azalir.

Sonuc: Tablolar uzerinde gereken indexler yok ise buyuyen tablolar fazla CPU ve I/O harcarlar.

Bir SQL sorgusunun performansi: tablo boyuna, tablo uzerindeki indexlere ve kac tablo uzerinde join yapildigina baglidir.

Ek olarak SQL den donen sonuclarin filtrelenmesi "WHERE" sonuclarin daha hizli donmesini saglar ve gereksiz sonuclarin networkte tasinmasini onler.
 

Unutmam

0
İyinet Üyesi
Katılım
7 Ocak 2006
Mesajlar
1,567
Reaction score
0
dosya indirtiyorsan cpu artar , mysql sorgulardan artar
artarda artar :)
 

Mywedding

1
İyinet Üyesi
Katılım
26 Eylül 2006
Mesajlar
5,893
Reaction score
96
Konum
www.odatv.com
SQL sorgulari tablolardan yapilir.
Tablolari, yapilandirilmis dosya gibi dusunebilirsiniz.
Tablo boyu ne kadar kucuk olursa SQL sorgulari o kadar hizli calisir.

+ MySQL o tabloyu acip okur icindeki veriyi bulur sizve verir.

Basit bir ornek:
Diyelimki MySQL sizsiniz...
1. Notepad ile 5K lik bir dosyayi actiniz. 'Adana Mersin' diye arattirdiniz. Arama sonucundaki tum 'Adana-Mersin' leri Notepad ile actiginiz yeni bir dosyaya koydunuz. Bu islem toplam 1 dakikanizi alsin.
2. Notepad ile 2Mb lik bir dosta actiniz. Sadece dosyanin acilmasi 120 saniye sursun. Arama sonucundaki tum 'Adana-Mersin' leri Notepad ile actiginiz yeni bir dosyaya koydunuz. Bu islem toplam 1 saatinizi alsin.

Sonuc: Tablo boyu buyudukce, harcanan CPU ve I/O artar, sorgu sureleri uzar.

Tablo boyunun buyuyecegini hesaplayan MySQL ve benzeri veritabani yaraticilari, INDEX denen objeleri yaratmislar. Indexi bir tablodaki bir verinin nerede oldugu bilgisini saklayan baska bir dosyadir. Hani kitaplarin basinda hangi konunun hangi sayfada, kitaplarin sonunda hangi kelimenin hangi sayfalarda gectigi yazilirya, iste index odur. Aradiginizi hizlica bulmanizi saglar.

Hizlica bulunca CPU ve I/O harcamasi azalir.

Sonuc: Tablolar uzerinde gereken indexler yok ise buyuyen tablolar fazla CPU ve I/O harcarlar.

Bir SQL sorgusunun performansi: tablo boyuna, tablo uzerindeki indexlere ve kac tablo uzerinde join yapildigina baglidir.

Ek olarak SQL den donen sonuclarin filtrelenmesi "WHERE" sonuclarin daha hizli donmesini saglar ve gereksiz sonuclarin networkte tasinmasini onler.

index i nasıl yapabiliriz örnek tablo ;
-- Tablo yapısı : `cpg149_sessions`
--

CREATE TABLE `cpg149_sessions` (
`session_id` varchar(40) NOT lisanssız default '',
`user_id` int(11) default '0',
`time` int(11) default lisanssız,
`remember` int(1) default '0',
PRIMARY KEY (`session_id`)
) TYPE=MyISAM COMMENT='Used to store sessions';

--
-- Tablo döküm verisi `cpg149_sessions`
--

INSERT INTO `cpg149_sessions` VALUES ('2c41d2869b9cabfd646cfbe7fb2e3873', 0, 1172053312, 0);
 
S

secret ^ love

Misafir
iyinet ustam bilgler icin cok tesekurler gayet guzel ve acik bir sekilde belirtmissin sebebleri..

Unutmam arkadasim dosya indirtmsi olurmu ..hem forum hem dosya nerde gorulmus .. :)
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
66
Konum
Sakarya
index i nasıl yapabiliriz örnek tablo ;

Indexlere SQL sorgulariniza bakarak karar vermelisiniz.

Yani oyle kafadan index yaratilmaz.

Fazla index te zarar verebilir, indexler okuma islemini hizlandirir ama yazma islemini de yavaslatirlar.

Tablolar uzerindeki 'primary key' ler zaten kendiginden indexlidirler. Bunlar icin ek index yaratmaniza gerek yok.

Bu artik biraz fazla detay ve teknik ama anlayabilecekler icin soyluyorum: SQL sorgularinizi "describe" ile inceletip indexlere karar verebilirsiniz.

Ek olarak tecrubeye bagli olarak (benim isim Veritabani uzmanligi) sadece tabloya bakarak basitce (kesin olmamak sarti ile) indexleri tahmin edebilirsiniz.

Ornegin asagidaki tablo icin session_id ve user_id uzerinde index yaratilabilecegini dusunuyorum. session_id uzerinde zaten primary key indexi koyulmus. Ama dogru olan boyle bakip karar vermek degildir. Sorgularin ve Tablolarin incelenmesi esastir.


CREATE TABLE `cpg149_sessions` (
`session_id` varchar(40) NOT lisanssız default '',
`user_id` int(11) default '0',
`time` int(11) default lisanssız,
`remember` int(1) default '0',
PRIMARY KEY (`session_id`)
) TYPE=MyISAM COMMENT='Used to store sessions';
 

sitemedya

0
İyinet Üyesi
Katılım
11 Kasım 2004
Mesajlar
284
Reaction score
0
daha 5000 kullanici yeni oldu ve arti ramde 2 gb ram ..sasdim kaldim

iyinet konuyu iyi açıklamış. Query lere özellikle bir kez daha bak. Görmeden birşey demek zor ama bence sorun querylerde.

Özellikle CPU ya yüklenen sayfayı ve query yi bulmaya çalış. Gerisi zaten çok kolay.
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
66
Konum
Sakarya
bu indexi her tablo nun basinami koymam gerek ..!!

1 tablo uzerinde 1 den fazla index yaratilabilir.

Indexler tablonun kolonlari uzerinde yaratilirlar.

Ornegin su sekildeki bir tablo uzerinde permutasyon olarak 6 adet index yaratilabilir: (7 index mantikli olmaz, sadece bilgi amacli goteriyorum)

CREATE TABLE `cpg149_sessions` (
`session_id` varchar(40) NOT lisanssız default '',
`user_id` int(11) default '0',
`time` int(11) default lisanssız,
)

Indexler:
1. session_id
2. user_id
3. time
4. session_id , user_id
5. session_id , time
6. user_id , time
7. session_id , user_id , time
 

ImPaRaToR

0
İyinet Üyesi
Katılım
8 Aralık 2006
Mesajlar
400
Reaction score
0
Konum
Nasa
gercektende cok guzel aciklamalar agziniza saglik.bendede var bu sorun ama bilgim olmadigindan bakamiyorum..
 
S

secret ^ love

Misafir
evet guzel aciklamlar bende fazla anlamdigimdan konuyu biseyler karistirmak istemiyoruym.bakalim bir cozumunu bulacagiz forumdaki bu konulara ilgili basliklari okuyorum ..
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
66
Konum
Sakarya
kullanılmayan ( 0 ) table rı çıkartmak gerekirmi , yoksa kalsa zararı olmazmı :)

Bu tamamen uygulamaniza bagli.
Uygulama bu tablolari belki de bir noktadan sonra kullanacak, yada o tablolara yazilacak kriter origramda acik olmayabilir. (if kriter then tabloya yaz gibi)

Ben o tablolari elleme derim.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst