Linux » MyEgo.cz - Radek Hulán webzine

MyEgo.cz

home foto blogy mywindows.cz kontakt

MySQL “select”: Windows nebo Linux?

V předchozím testu jsem se zaměřil na rychlost MySQL databáze pro vkládání záznamů, INSERT INTO, v tomto testu se podívám na věc, která je v praxi častější, a to vyhledávání SELECT LIKE '%string%'.

Testovaná konfigurace počítače a systému:

CPU: Pentium-4/HT 3.4 GHz
RAM: 2x512MB DDR443
HDD: SATA 7.200rpms, 8MB cache
Lin: SUSE 9.1, kernel 2.6.8.1, ReiserFS
Win: WinXP Pro SP2, NTFS

Testovací kód prováděl 10x za sebou celkem 100 SELECTů:

function test($s){
  $query=mysql_query(
    'select id from `test` 
     where `body` like 
     ("%'.$s.'%")');
  if ($row=mysql_fetch_object($query)) echo $s;
}
$iterationsCount = 10;
$subIterationsCount = 100;
for($i = 0; $i < $iterationsCount; $i++) {
  $timer->start();
  for($j = 0; $j < $subIterationsCount; $j++) 
    test(strval($j).' ');
  $test->add($timer->stop());
}

Výsledek SELECT testu je v podstatě totožný jak INSERT testu, MySQL na Linuxu má sice vyšší rozptyl výkonu, nicméně, je o desítky procent výkonnější než na Windows. Pokud chcete tedy hostovat svoje PHP/MySQL řešení na Windows 2003 serveru, je dobré si to rozmyslet, a místo koupě tohoto serveru, použít raději Linux. Je zdarma a je rychlejší.

Výsledky pro Windows:

Windows
Average: 7.251727175712586 s
Standard deviation: 0.009027196825484

Výsledky pro Linux:

SUSE Linux
Average: 5.506822347640991 s
Standard deviation: 0.018683764226855

MySQL “insert”: Windows nebo Linux?

V několika dalších článcích bych se chtěl zaměřit na srovnání rychlosti MySQL, PHP, Apache, PostgreSQL a Javy pod Windows XP SP2 a SuSE Linux 9.1.

V tomto prvním článku budu testovat rychlost MySQL, a to konkrétně insertů do tabulky, s fulltext klíčem.

Veškeré testy jsou prováděny na této konfiguraci počítače:

CPU: Pentium-4/HT 3.4 GHz
RAM: 2x512MB DDR443
HDD: SATA 7.200rpms, 8MB cache
Lin: SUSE 9.1, kernel 2.6.8.1, ReiserFS
Win: WinXP Pro SP2, NTFS

Vlastní test provádí desetkrát po tisíci insertech do MySQL databáze, a potom zobrazí výsledky, pro měření je jako základ použit skript Jána Suchala.

Dokonalý operační systém za tři stovky

kernel 2.6.8.1 a KDE 3.3.0

Před pár dny jsem si objednal SuSE Linux 9.1 FTP Edition. Není to nic jiného, než SuSE 9.1 Profesional, který se prodává za 2.800 Kč, akorát, že tato distribuce není přímo od SuSE, ale Tomáš Kupka těch 5GB stáhnul z FTP, poskládal to dohromady, nastavil české předvolené balíčky pro instalaci, a vypálil to na DVD. To celé prodává za 299 Kč, včetně DPH, což si myslím, že je hodně slušná cena, téměř výrobní náklady…

Můžete si samozřejmě SuSE 9.1 Personal (ISO obraz CD) kdykoliv stáhnout zdarma z internetu, a potom z FTP SuSE další balíčky, stovky a stovky MB, nicméně, proč s tím ztrácet čas? 5GB je hodně dat i na to nejrychlejší připojení, navíc takto získáte bootovací DVD, které můžete instalovat i tam, kde připojení k internetu je pomalé či žádné.

Tomáš Kupka to SuSE 9.1 DVD navíc poskládal dohromady dost rozumně, je tu:

  • kancelářský balík OpenOffice 1.1.1, CZ,
  • grafické prostředí KDE 3.2.1,
  • počeštění KDE, Koffice, YaST,
  • kernel 2.6.5-smp,
  • Eclipse, Quanta, KDevelop, Gambas pro vývoj aplikací,
  • gcc 3.3.3, a další nástroje pro kompilaci,
  • desítka audio a video přehrávačů, včetně xmms, amaroK, Noatun, Xine,
  • Apache 2, MySQL 4, PHP 4, PostgreSQL servery a databáze,
  • velice kvalitní KMail, email klient, a KGpg pro šifrovanou komunikaci,
  • Mozilla Suite a Firefox,
  • licq, Kopette, Gaim a další,
  • IRC a news klienti,
  • Gimp 2.0 pro grafiku,
  • Wine pro emulaci Windows.

Pokud chcete začít s Linuxem, nebo potřebujete komplexně vybavený operační systém, nebo chcete začít programovat v PHP, Perlu, Pythonu, Javě či C++, nebo pokud děláte webdesign, neexistuje zřejmě lepší volba.

Jediná zásadnější připomínka by byla jen na nepřítomnost KDE 3.3.0, nebyl by přece problém to DVD aktualizovat… Můžete to po instalaci ale samozřejmě udělat přes YaST.

Microsoft Internet Explorer pod Linuxem

MSIE 6.0 under SuSE Linux WINE Chci to zvětšit!

Na tomto screenshotu MSIE 6.0 by nebylo nic zvláštního, kdyby nebyl pořízen z mojí stanice se SuSE Linuxem 9.1 :-) Zde je popis jak na to. Dokonce funguje i Flash…


Člověk se jen diví, jak tak strašně zaostalý browser může stále okupovat majoritu počítačů…

Kompilace kernelu v Linuxu pro lamy

kernel

Kompilace kernelu na Linuxu je věc povinná. Dá se sice fungovat s kernelem, který byl dodán s Vaší distribucí, nicméně, ten je kompilován pro i386 bez zvláštních optimalizací a obsahuje mraky ovladačů pro hardware, který jste nikdy ani neviděli. Tudíž, takovýto kernel je pomalý (relativně, pořád je rychlejší než Windows XP), a méně stabilní (jsou tam věci, které nepotřebujete).

Tento článek chce přinést lamám návod, jak si kernel překompilovat.

Jak na spam pod Linuxem?

Linux 22.09.2004

Pod Linuxem existuje několik velice slušných email spam-filterů. Jeden z nejlepších je Spam Assassin, pro “domácí” použití je naopak vhodný Bogofilter, založený na Bayes pravděpodobnosti spamu/hamu a učící se databázi slov.

Nový KMail, email klient pro KDE 3.3.0 dokonce umožňuje automatické vytvoření pár filtrovacích pravidel pro Bogofilter (a další anti-spam řešení). Po instalaci Bogofiltru postačí tedy spustit KMail AntiSpam wizard, předem je vhodné vytvořit si složku spam, a automaticky vytvořená pravidla, plus ikona v toolbaru, umožní okamžité hodnocení obsahu Vaší pošty.

KMail se v KDE 3.3.0 vůbec stal profesionální aplikací, lepší než TheBat! na Windows, včetně podpory pro GnuPG a S/MIME, rozmanitých filtrů a “pipes” (které na Linuxu, na rozdíl od Windows, mají smysl), antispamu, či antiviru.

Nejnovější nVidia drivery pod Linuxem

Nové KDE 3.3.0, pokud si člověk zapne průhlednosti a dekorace oken, je nádherné a velice funkční, mnohem komfortnější než Windows Longhorn (nemluvě už vůbec o tom, že ani Longhorn nebude mít Bash), nicméně, docela náročné na zdroje. Není tedy od věci instalovat si nejnovější ovladače nVidia karet.

Nejprve je nutné si stáhnout instalační program z nVidia webu. Vlastní instalace na SuSE 9.1 potom může proběhnout následovně (pokud máte instalovány zdrojové kódy kernelu, v mém případě verze 2.6.8.1-rADo):

init 3
rmmod nvidia
cd /usr/src/linux
make cloneconfig
make prepare_all
sh NVIDIA-Linux-x86-1.0-6111-pkg1.run
sax2 -m 0=nvidia

Chcete rychlejší CDMA na Linuxu?

S GTRAN USB modemem je poměrně dost problémů na Windows, hlavně s ovladači, a tento problém se nevyhnul ani Linuxu. Nicméně, zde jsou, na rozdíl od Windows, dostupné zdrojové kódy, takže se vše dá poměrně snadno řešit. Zajímavé je, že GTRAN modem na jádru 2.6.8.1 je naprosto stabilní, zatímco na Windows má problémy, nechce se připojovat a autorizovat, či často padá. Linux s CDMA tímto problémem netrpí.

Jeden problém ale existuje, tedy, spíše existoval, i na Linuxu. Modem přenášel data maximální rychlostí 256Kbps. Toto není problém jádra Linuxu, ale modemu, který reportoval chybnou velikost max_packet_size. Po jednoduché úpravě souboru cdc-acm.c, který vnutí pro Quallcom GTRAN modem jádru jiný parametr, a rekompilaci kernelu, to jede kolem 480 kbps (mě i více, ale hodně lidem ne). Celý problém byl popsán na abclinuxu.cz.

Jak tedy na rychlejší CDMA na Linuxu?

Z http://kernel.org/ si stáhněte kernel 2.6.8.1, a aplikujte na soubor cdc-acm.c jednoduchý patch Petra Písaře (nebo těch deset řádků doplňte ručně, pokud máte jinou verzi kernelu než 2.6.8.1). Potom kernel překompilujte a instalujte.

su
cd /usr/src/linux
cp arch/i386/defconfig.smp .config
make xconfig
make
make modules_install
make install

Pokud používáte grub, je to celé… V případě lilo modifikujte ručně lilo.cnf. Obrovskou výhodou rekompilace celého kernelu je to, že si jej přizpůsobíte pro svůj stroj, a optimalizujete, je tak menší, optimalizovaný pro (v mém případě) P-IV/HT, a stabilnější. Zajímavostí je, že jsem kompilaci prováděl s gcc 3.3.3 (doporučováno je gcc 2.93.x), a nebyl žádný problém.


Pokud se nechcete pouštět do kernelu, který není upraven SuSE, můžete si přes YaST stáhnout zdroj pro kernel 2.6.4, a provést ručně úpravu na něm, nicméně, s vanilla kernelem 2.6.8.1 jsem neměl žádný problém. Jak zdroj pro YaST uveďte:

ftp://ftp.sh.cvut.cz/SuSE/i386/9.1/

Kompilace a optimalizace na Linuxu

Linux 16.09.2004

Pokud kompilujete na Linuxu, jsou pro to 2 důvody:

  • protože neexistuje binárka, jakou potřebujete (což je typické pro PHP/MySQL/Apache kombinaci),
  • protože chcete kód optimalizovat (většina binárek je pro i386 - i586).

K gcc je dostupná řada parametrů, které ovlivňují kompilační a linkovací proces, osobně používám následující, tedy zapnutí podpory pro P-IV, SSE2 instrukční sady, optimalizací kódu (O2), zapnutí pipes pro kompilaci, a odstranění tabulky symbolů z binárky:

export CFLAGS="-march=pentium4 -mfpmath=sse 
               -msse2 -O2 -pipe -s
               -fomit-frame-pointer"

SuSE Linux 9.1 - jak vypadá desktop?

SuSE 9.1 a KDE 3.3.0 Chci to větší!

Upozornění: zvětšenina má cca 320KB, nic pro dial-up!

Banan.cz