Archiwum kategorii 'Optymalizacja aplikacji'

Kontrola wydajności - Apache Benchmark

sobota, luty 11th, 2006

Niejednokrotnie wprowadzamy rozwiązania, co do wydajności których nie możemy być pewni. Warto jest wówczas skorzystać z narzędzia pozwalającego na jej kontrolę. Moim ulubionym narzędziem jest Apache Benchmark (ab.exe), dostępny razem z dystrybucją serwera Apache.

AB (Apache Benchmark) pozwala na wielokrotne wywołanie URL i przygotowuje statystyki czasu wykonania.
Program wywołujemy z linii poleceń, jego najważniejsze parametry to:

n - ilość zapytań
c - ilość zapytań w tym samym czasie
k - wymusza użycie stałego połączenia - HTTP […]

Optymalizacja bazy MySQL - część II

niedziela, styczeń 15th, 2006

Wcześniej (Prędkość czy miejsce) pisałem, jak można zaprojektować tabelę MySQL aby baza działała szybciej lub zajmowała mniej miejsca. Teraz przedstawiam garść innych porad:

używaj pól o jak najmiejszym rozmiarze

zmniejszenie rekordu redukuje ilość operacji dyskowych. Jeżeli przechowujesz hasło
w postaci hasza md5, użyj pola char(32) a nie varchar(100)

deklaruj kolumny jako NOT NULL

zmniejszysz rozmiar rekordu

dla tabel MyISAM używaj rekordu […]

Predkosc czy miejsce

niedziela, październik 30th, 2005

Podczas pracy z MySQL, warto wiedziedziec o mozliwosci wplyniecia na wydajnosc bazy, juz na etapie projektowania jej struktury. W zaleznosci od zasobow ktorymi dysponujemy, mozemy zaprojektowac baze tak, aby dane w niej przechowywane zajmowaly jak najmniej miejsca, lub tak, aby wzrosla wydajnosc.
Model I - oszczedzamy miejsce
Podczas projektowania struktury bazy danych, wybieramy taki typ pol, aby […]

Nie duplikuj informacji w bazie

niedziela, październik 30th, 2005

Jedna z istotnych cech relacyjnych baz danych jest to, ze mozna przechowywane w nich informacje powiazac ze soba. Nie ma wiec koniecznosci duplikowania informacji zawartych w bazie.
Dla przykladu wezmy pod uwage system zawierajacy konta uzytkownikow, ktore mozna dowolnie przypisywac do grup. Istnieje takze mozliwosc wyslania wiadomosci e-mail do wybranej grupy.
Uproszczona struktura bazy danych to:
Tabela ‘uzytkownik’:

id
login
email

Tabela […]

Nie wyważaj otwartych drzwi

niedziela, październik 30th, 2005

Bardzo często początkujący programiści, tworzą zawiłe struktury w kodzie programu, tylko po to, aby uzyskać wynik który bez większego trudu można uzyskac przy uzyciu wbudowanych funkcji PHP.
Jedna z pomocnych (a czesto pomijanych) funkcji jest string number_format ( float number [, int decimals [, string dec_point, string thousands_sep]] ). Formatuje ona podana liczbe, uzupelniajac ja w […]

Zapamiętaj wynik funkcji

niedziela, lipiec 3rd, 2005

Kolejnym częstym błędem początkujących (ale czy tylko?) programistów, jest wielokrotne wywoływanie tej samej funkcji wewnątrz warunku pętli.
Przykład:

<?php
$iRok = 0;
while($iRok < date(’Y')){
$iRok++;
echo $iRok . “\n”;
}
?>

Przenieś IF poza WHILE

niedziela, lipiec 3rd, 2005

Jednym z częściej powtarzanych błędów w kodzie, jest wielokrotne przetwarzanie instrukcji warunkowej if wewnątrz pętli (np. while lub for), podczas gdy można zmienić kolejność instrukcji.
Przykład:
pobieramy dane z bazy MySql i wyświetlamy je w formie tabeli. Jeżeli zmienna $bIsAdmin ma wartość true, wyświetlamy wszystkie pola, w przeciwnym wypadku nie wyświetlamy pola email.


statystyki