Podczas pracy nad projektami on-line (serwisy społecznościowe, portal nf.pl) bardzo ważna była optymalizacja. Zarówno na poziomie aplikacyjnym jak i serwerowym. Każdy przypadek takiego zagadnienia należy rozpatrywać oddzielnie gdyż zawsze są inne potrzeby. W przypadku aplikacji w początkowym stadium wystarczy zminimalizować liczbę zapytań do bazy danych, natomiast serwisy/portale wymagają całkowitego wyeliminowania konieczności użycia bazy danych dla wyświetlania podstawowych stron (nie piszę tutaj o wszelkiego rodzaju interakcji gdzie nie da się obsłużyć zapytania bez bazy danych).
Pierwszym krokiem w takich sytuacjach jest analiza potrzeb, tak aby dostosować środki. Bardzo często okazuje się iż serwer aplikacyjny oraz bazodanowy to ta sama maszyna – takie wykorzystanie zasobów jest błedne.
Przykładowe realizacje
- Wdrożenie systemów cachujących, zmniejszających zużycie bazy danych
- Tworzenie architektury serwerowej, współpraca z firmami świadczącymi usługi w tym zakresie
- Wdrożenie nowej architektury
- Dostosowanie aktualnie istniejącego oprogramowania do używania nowych technologii
Wykorzystywane technologie
- memcached
- sphinx
- eaccelerator
- nginx