Hoi,
Ik ben voor een irc netwerk een ding aan het maken wat alles wat er gezegd en gedaan wordt opslaat in een database. Nu staat dat ding nog op mijn eigen server nu, maar ik heb ook een vps gekregen waar ik alles op moet gaan draaien, Apache (om de logs terug te lezen), Mysql (Om eh.. Ja waarvoor...
).
Nu is er op die vps 160GB aan opslagcapaciteit beschikbaar, er is nog +/- 3700MB ram vrij en het heeft een disk I/O van richting de 100 MB/s
Nu gaat er dus gebeuren dat er op sommige momenten meerdere query's per seconde komen (2 of 3) Nu denk ik dat Mysql dit al redelijk aan kan maar als ik toch ongeveer 3,7GB ram vrij hebt valt er vast wat te optimaliseren.
Nu ziet de tabel waar de logs inkomen er als volgt uit (Misschien is dit handig voor jullie?)
Niet op die auto increment letten.. Zo komt die regelrecht uit het programma waarmee ik de mysql database bekijk.
id lijkt me duidelijk, created is de tijd dat hij in de tabel wordt gestopt (Gewoon met de mysql functie NOW()), channel is het betreffende chat kanaal, nick is de persoon die het zegt, uhost is de user host, type is bv. MESSAGE, JOIN, QUIT, NOTICE en arg is hetgeen wat er gezegd werd.
Er is ook nog een tabel die niet heel veel boeit, hier wordt af en toe wat informatie uitgehaald en ingezet ivm. veiligheid en opvragen van de logs.
Wat kan ik allemaal doen om hem zo snel mogelijk te laten lopen? Ik ga helemaal compilen (geen apt-get dus.) tot en met de config zelf aanpassen maar ik weet nu nog niet precies waar ik op moet letten.
Alvast bedankt,
Ik ben voor een irc netwerk een ding aan het maken wat alles wat er gezegd en gedaan wordt opslaat in een database. Nu staat dat ding nog op mijn eigen server nu, maar ik heb ook een vps gekregen waar ik alles op moet gaan draaien, Apache (om de logs terug te lezen), Mysql (Om eh.. Ja waarvoor...

Nu is er op die vps 160GB aan opslagcapaciteit beschikbaar, er is nog +/- 3700MB ram vrij en het heeft een disk I/O van richting de 100 MB/s
Nu gaat er dus gebeuren dat er op sommige momenten meerdere query's per seconde komen (2 of 3) Nu denk ik dat Mysql dit al redelijk aan kan maar als ik toch ongeveer 3,7GB ram vrij hebt valt er vast wat te optimaliseren.
Nu ziet de tabel waar de logs inkomen er als volgt uit (Misschien is dit handig voor jullie?)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| CREATE TABLE `log` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `created` DATETIME NULL DEFAULT NULL, `channel` VARCHAR(255) NULL DEFAULT NULL, `nick` VARCHAR(20) NULL DEFAULT NULL, `uhost` VARCHAR(255) NULL DEFAULT NULL, `type` VARCHAR(20) NULL DEFAULT NULL, `arg` VARCHAR(255) NULL DEFAULT NULL, PRIMARY KEY (`id`) ) COLLATE='latin1_swedish_ci' ENGINE=InnoDB AUTO_INCREMENT=36816; |
Niet op die auto increment letten.. Zo komt die regelrecht uit het programma waarmee ik de mysql database bekijk.
id lijkt me duidelijk, created is de tijd dat hij in de tabel wordt gestopt (Gewoon met de mysql functie NOW()), channel is het betreffende chat kanaal, nick is de persoon die het zegt, uhost is de user host, type is bv. MESSAGE, JOIN, QUIT, NOTICE en arg is hetgeen wat er gezegd werd.
Er is ook nog een tabel die niet heel veel boeit, hier wordt af en toe wat informatie uitgehaald en ingezet ivm. veiligheid en opvragen van de logs.
code:
1
2
3
4
5
6
7
8
9
| CREATE TABLE `hashes` ( `id` INT(10) NOT NULL AUTO_INCREMENT, `channel` VARCHAR(32) NOT NULL, `hash` VARCHAR(5) NOT NULL, PRIMARY KEY (`id`) ) COLLATE='latin1_swedish_ci' ENGINE=InnoDB AUTO_INCREMENT=13; |
Wat kan ik allemaal doen om hem zo snel mogelijk te laten lopen? Ik ga helemaal compilen (geen apt-get dus.) tot en met de config zelf aanpassen maar ik weet nu nog niet precies waar ik op moet letten.
Alvast bedankt,