Visa ett inlägg
Oläst 2007-07-09, 21:59 #23
FredrikMHs avatar
FredrikMH FredrikMH är inte uppkopplad
Supermoderator
 
Reg.datum: Apr 2004
Inlägg: 1 501
FredrikMH FredrikMH är inte uppkopplad
Supermoderator
FredrikMHs avatar
 
Reg.datum: Apr 2004
Inlägg: 1 501
Weaver:
Att jobba sig igenom en loggfil tar en hel del resurser det med. Blir det verkligen så "mycket" bättre?

Ja bilden genereras varje gång. Bilden laddas av php och en siffra läggs till på bilden. Bilden är inte direkt stor (163 bytes) av typen gif. Totalt sätt skulle det finnas 100 olika bilder (kanske fler i framtiden) då jag idag endast visar deras position om de ligger i top 99 i deras kategori.

Skulle inte söktiden bli större för bilderna om det var 100 olika bilder som ska laddas in varje sekund? Jag menar de ligger på olika ställen på disken och läshuvudet får flytta sig oftare? Diskar är långsamma och att rita ut en liten siffra är inte jobbigt för processorn. Idag är det mysql som tar upp 25% cpu och är den som överbelastar servern.

Eventuellt skulle man spara en del disk-kapacitet genom att lagra dessa bilder i memcached men det har jag inte lyckats med då der serialiseras. Läste någonstans att det inte gick att spara filer i memcached men jag har inte undersökt det ytterligare.

Kullervo:
Jag har en ip-tabell som sparar alla ip-adresser och jag är medveten om att index gör det jobbigare att lägga in data i tabellen än en som är utan index. Tabellen består bara av två kolumner (userid, ip) där det jobbiga unique-index är placerat över båda, samt ytterligare ett index över userid (för att gruppera antal ip för användare).

Jag är medveten om att detta inte är snabbt och jobbigt för mysql att hantera. Men och andra sidan måste jag på något sätt sortera ut dubletter av ip-nummer. Kanske är det bättre att tillåta dubletter av ip och utnyttja DISTINCT i queryn för att beräkna de unika ip-nummerna i och med att detta endast sker var 15:e minut? Men samtidigt kommer datan i tabellen att öka enormt mycket. Idag har den närmare 10 miljoner rader i slutet på vekcan och då är dessa endast unika.

Jag har även provat med en heap-tabell med samma kolumner fast inga index alls och endast mata in alla ip-nummer där under 20min för att se om belastningen på servern sjönk men det blev tyvärr inte min uppfattning.

Jonny:
Jag har inte full tillgång till hårdvaran som sitter i min server. Jag hyr allting av The Planet men för $40 i månaden extra så hoppas jag inte att det är mjukvaru-raid jag fått

Ledsen kan inte hjälpa dig med nätverkskortet heller

mysql tar upp 100% enligt cpanel (vilket blir 25% med 4 processorer/kärnor).
httpd och övriga ligger långt ifrån mysql.

----------------
Som kullvervo skrev så segar säkert index ner men varför märkte jag inte någon förbättring när jag körde utan index och som heap-tabell? Det borde i så fall varit mycket snabbare. Det var detta som fick mig att sluta titta på tabellens uppbyggnad. Kanske är något annat som belastar?

Det som stör mig mest av allt är att så fort servern får lite att jobba med så går det segt att surfa på sidan. De dynamiska sidorna laddas lite långsmmare men alla bilder är det som får en att hämta en kopp kaffe under tiden. Ligger då mySQL på egen server så måste bara användaren vänta "lång" tid på innehållet. Sen trillarna bilderna in snabbt och enkelt vilket ger en mycket behagligare upplevelse.


Edit:
Idag hade jag en ytterligare ökning. Över 15% mer besökare sedan i fredags och så här fortsätter det från vecka till vecka. Enligt Alexa har jag en 150% trafikökning var tredje månad.

Just nu laddas allting väldigt långsamt med en härlig belastning på servern "Server Load 19.60 (4 cpus) ". Börjar bli riktigt kritiskt nu. Antaligen blir det köp av en dedikerad mysql-server tills jag kommit på något bättre.
FredrikMH är inte uppkopplad   Svara med citatSvara med citat