Archiwum

Posty oznaczone ‘performance’

Trochę HipHopu w wykonaniu PHP :)

luty 2nd, 2010

Dziś na stronie inżynierów facebooka przeczytałem o bardzo ciekawym rozwiązaniu o nazwie HIPHOP.  Nazwa brzmiała  na tyle intrygująco, że od razu kliknąłem, aby dowiedzieć się o co chodzi. Programiści Facebooka po raz kolejny postanowili upublicznić efekt swojej wielomiesięcznej pracy. Tym razem jest to coś naprawdę fajnego, szczególnie dla tych, których interesuje wydajność i optymalizacja aplikacji. Czytaj więcej…

  • Share/Save/Bookmark

Bartosz Aninowski TYPO3 hiphop, performance, php, wydajność

Evo_nginx_boost mała aktualizacja

lipiec 19th, 2009

Na prośbę użytkowników zmieniliśmy sposób usuwania cache po wykonaniu żądania typu POST. Do tej pory usuwaliśmy cache dla całej strony z której przyszedł POST. Wyobraźmy sobie sytuację w której mamy bardzo duże archiwum newsów. Każdy news zapisany do memcache miał czas wygaśnięcia ustawiony na 24h i więcej. Jeśli pojawił się komentarz pod dowolnym rekordem, memcache był czyszczony dla wszystkich rekordów. Rozwiązanie to może czasem się przydać ale dla serwisu newsowego, który ma kilkanaście tysięcy rekordów powoduje niepotrzebne uruchamianie CMS TYPO3.

Czytaj więcej…

  • Share/Save/Bookmark

Bartosz Aninowski TYPO3 Dodaj nowy tag, memcache, performance

Walka o milisekundy: eID i ajax call

lipiec 18th, 2009

istock_000003585861xsmallWalka o milisekundy to cykl mini hack’ów, dzięki którym uda się nam “wyrwać” cenne ułamki sekund podczas parsowania strony.  W tym przypadku zajmiemy się eID i wywołaniami typu AJAX.

Podczas wdrażania kolejnych projektów, z góry planujemy użycie wtyczki evo_nginx_boost wszędzie gdzie to możliwe. Tak staramy się tworzyć całą funkcjonalność, aby działy serwisu o największym obciążaniu wykorzystywały ajaxa tak często jak to możliwe. Dobrze przygotowany kod z użyciem ajax’a pozwoli nam na ominięcie uruchamiania całego TYPO3 i minimalizacje czasów parsowania. Czytaj więcej…

  • Share/Save/Bookmark

Bartosz Aninowski TYPO3 ajax, eID, performance, przyśpieszanie

Wysoki parsetime

czerwiec 11th, 2009

Ostatnie parę dni walczyliśmy z wysokimi czasami parsowania. Strony w CMS TYPO3 zawierały różne wtyczki od najprostszych uruchamianych jako USER do bardzo skomplikowanych USER_INT. Efekt był zawsze taki sam – stanowczo za wysokie czasy.

Strona się zacinała, a admPanel pokazywał dużą ilość sekund w części Page Generation. Po wielu dniach wycinania z TYPO3 wszystkiego po kolei wciąż różnice między środowiskiem developerskim a produkcyjnym były za duże.

Czytaj więcej…

  • Share/Save/Bookmark

Bartosz Aninowski TYPO3 parsetime, performance, wydajność

Zobacz co możesz zrobić z nadchodzącą wersją evo_nginx_boost

kwiecień 15th, 2009

Intensywnie testujemy nadchodzącą wersje evo_nginx_boost dla CMS TYPO3. Do czego służy i jak działa możecie przeczytać tu: Jak przyspieszyć działanie TYPO3 przy pomocy nginx’a.

W poniższym video zobaczycie pare nowych funkcji :)

Czytaj więcej…

  • Share/Save/Bookmark

Bartosz Aninowski TYPO3 memcache, nginx, performance, wydajność

Wyszukiwarka indeksująca mnogosearch w mm_forum

kwiecień 2nd, 2009

Jakiś czas temu Google wykonał eksperyment zwiększając ilość wyników na stronie wyszukiwania z 10 do 30. Czas ładowania 30 wyników zwiększył się z 0.4s do 0.9s, a ruch wśród szukających informacji spadł o 20%. Pokazuje to jak ważną częścią naszej witryny jest wyszukiwarka i szybkość jej działania.

Nie chciałbym, aby cały nasz blog był poświęcony tylko i wyłącznie problemom wydajności. Jednak tak to bywa, że podczas codziennej pracy nad dużymi serwisami nie można nawet na chwile zapominać o kwestii wydajności a szczególnie wtedy, kiedy równocześnie chcemy ograniczyć koszty związane z późniejszym wzrostem ruchu.

Wbudowana w TYPO3 wyszukiwarka indeksująca indexed_search pozostawia wiele do życzenia i nie polecam jej użycia w obszernych serwisach z dużą ilością informacji. Zdecydowanie lepszym rozwiązaniem, choć na pewno wymagającym więcej konfiguracji jest wtyczka mnogosearch. Rozszerzenie to pozwala nam na podłączenie zewnętrznego silnika indeksującego o takiej samej nazwie i wykorzystanie jego ogromnych możliwości w połączeniu z TYPO3.
Opis dokładnej konfiguracji znajduje się na stronie z rozszerzeniami TYPO3, natomiast ja skupię się na paru dodatkowych trikach, które pozwolą na indeksowanie bazy sql.

Czytaj więcej…

  • Share/Save/Bookmark

Bartosz Aninowski TYPO3 mm_forum, mnogosearch, performance, TYPO3, wydajność

Jak przyspieszyć działanie TYPO3 przy pomocy nginx’a.

marzec 21st, 2009

UWAGA. Nowa wersja i nowa podstrona dedykowana tylko evo_nginx_boost http://techblog.evo.pl/evo_nginx_boost-extension/ Teraz evo_nginx_boot może pracować bez użycia NGINX’a. Wymagane jest TYPO3 i memcache!

TYPO3 cache

Kwestia wydajności TYPO3 była omawiana wiele razy. Znalazłem wiele różnych tricków, które pozwalają przyśpieszyć czas generacji strony między innymi moduł  nc_staticfilecache czy dmc_highperformance. Najnowsza wersja TYPO3, która obecnie jest w fazie alpha radykalnie zmienia podejście do cachowania, dając nam do wyboru różne mechanizmy wsparcia jak file, memcache, database, czy apc.

Problem

Wszystkie powyższe rozwiązania z wyjątkiem nc_staticfilecache mają jedną wspólną rzecz: aby odczytać cache należy wywołać proces php i odczytać scachowane dane, sparsować, a następnie wysłać do przeglądarki.
Zróbmy prosty test z wykorzystaniem narzędzia ab. Sprawdzimy ilość zapytań na sekundę z wykorzystaniem złożonej witryny.

Czytaj więcej…

  • Share/Save/Bookmark

Bartosz Aninowski TYPO3 boost, memcache, nginx, performance, przyśpieszanie, TYPO3