Pokazywanie postów oznaczonych etykietą pomiary. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą pomiary. Pokaż wszystkie posty

9 lutego 2012

Narzędzia do pomiar wydajności i optymalizacji strony www

Istnieje wiele metod mierzenia wydajności naszejj strony internetowej. Najsensowniejsza wydaje się mierzona w regioniach geolokalizacyjnych, w których chcemy ją promomwać. Oczywiście są narzędzia, które testują naszą stronę z różnych serwerów z całego świata i podają rankingi wyników.
Najbardziej pożytecznymi argumentami, które stoją za pomiarem wydajności stron internetowych są czynniki oraz odczucia użytkownika.
Składają się one na aspekty typu:

  • czas wczytywania części strony widocznej na ekranie: czas, który upływa od momentu wysłania żądania nowej strony do momentu wyrenderowania części strony widocznej na ekranie przez przeglądarkę
  • czas pełnego wczytania strony: czas, który upływa od momentu, gdy użytkownik wysyła żądanie nowej strony do momentu, gdy strona zostanie w pełni wyrenderowana przez przeglądarkę
Okazuje się, że istnieje wiele czynników, które mogą zaburzać nam te jakżde oczywiste dwie metryki.
W narzędziach prezentowanych poniżej bardzo łatwo po znaczących kolorach i procencie dobrej roboty można obserwować, jak dużo pracy przed nami albo też za nami :-)

Chcąć się odnieść do kryteriów oceny warto wymienić niniejsze:

  • czy poprawnie działa cache
  • ilość plików CSS
  • ilość i JavaScript
  • kompresja i minimalizacja plików
  • czy obrazki są optymalnego formatu
  • czy obrazy załączone do strony są optymalne pod względem cachowania
  • jaki jest stopień optymalizacji wielkości obrazów w danym formacie + sugestie zmian formatu lub wielkości
  • jak stronę widzą typowe boty internetowe
  • jak możemy poprawić stronę pod kątem wygody dla nie w pełni sprawnych osób przeglądających naszą stronę

Gdybyście poszukiwali narzędzia wskazującego co dzieje się z Waszą stroną i gdzie można poszukać uchybień wydajności, polecam gtmetrix. W gtmetrix performance Report jaki można uzyskać z tego narzędzia składa się z wielu praktycznych wskazówek wyrażonych w punktach procentowych i klasyfikuje na tej podstawie do klasy wydajnościowej (skala od A do F, gdzie A to najlepsza ocena). Wygodnych ficzerem jest możliwość porównania z innymi wersjami strony lub innymi stronami.

Jednak na rynku króluje od pewnego czasu PageSpeed i temu narzędziu nie mam na prawdę niczego do zarzucenia. Przemyślane, wspierające urządzenia mobilne, darmowe i co najważniejsze wyniki testu są do przejrzenia pod linkiem przez innych. Ten ostatni ficzer czyni to narzędzie bardzo współczesnym i praktycznym.

Dzięki temu, że Page Speed Insights mierzy wydajność stron na urządzeniach przenośnych i komputerach. Dwukrotnie pobiera URL: poprzez komórkowego i komputerowego klienta użytkownika.


Oczywiście fani Firefoxa mogą zainstalować wtyczkę YSlow analizującą wydajność stron internetowych.

Wspominając o wydajności nie można pominać tzw. Waterfall Chart, czyli rejestru procesu ładowania stron przez przeglądarkę. Uzmysłowi nam to co tak naprawdę może być blokerem dla wydajności. Oto przykładowy widok takiego rejestru wodospadu:

Jeśli natomiast nie jesteśmy webmasterem i chcemy kilka zobaczyć kilka podstawowych kryteriów wydajności strony, możemy użyć page scoring. Oto bardzo czytelny i ogólny raport:

31 marca 2009

Targi Automaticon® 2009 - warto tam zawitać ...

Oficjalnie dzisiaj nastąpiło otwarcie targów automatyki przemysłowej i pomiarów Automaticon® 2009. Od ponad kilkunastu lat przez pryzmat asortymentu oraz licznych technologii prezentowanych na targach możemy obserwować rozwój automatyzacji w polskim przemyśle. Z jednej strony producenci i ich przedstawiciele z drugiej strony konstruktorzy i ich dzieła. Jest to dość poważne zestawienie w branży automatyki, gdyż konkurencja, która czycha wszędzie może stanąc twarz w twarz ze swoimi autentycznymi rywalami i używając sztuczek marketingowych oraz swojej marki wypromować indywidualny bądź też powielony pomysł na biznes.

A w automatyce dzieje się wiele na codzień, jak łatwo się domyślić podobnie jak w elektronice - wszak automatyka jest w trwałym związku z elektroniką :) Automatyzacja procesów przemysłowych, ich monitoring, badania nad wytwarzaniem dóbr w sposób wydajniejszy jest to dość prężnie rozwijająca się dziedzina. Sam fakt obecności rokrocznie kilkuset wystawców na targach AUTOMATICON tego dowodzi, jak również zainteresowanie ze strony osób bezpośrednio związanych oraz z dziedzin postronnych (robotyki, informatyki, ekektroniki, miernictwa, etc...).

Niniejszym artykułem chciałbym zachęcić wszystkich zaintereowanych do dyskusji n.t. automatyki oraz nowych technologii, protokołów komunikacyjnych oraz wszelkich wynalazków, które zainspirowały ich podczas tegorocznych targów. Jednocześnie pozwolę sobie zamieścić fragmenty relacji z targów AUTOMATICON® 2008 oraz do galerii tagrów. Więcej znajdziecie w artykule Automaticon 2009. Zakres tematyczny oraz katalog wystawców znacząco ułatwią zapoznanie się z ofertą targową.






7 listopada 2008

Skutecznie proste pomiary temperatury w lodówce z iButton

Odgrzebałem kilka starych gratów z mojej elektronicznej walizki, gdyż jak z tematu wynika podejrzewam, że moja lodówka nie działa poprawnie :-) Swoje odkrycia zacznę od wzmianki o układach iButton, o których tutaj będzie mowa. Istnieje wiele różnych układów od czujników temperatury po przełączniki, rejestratory temperatury, czujniki wilgotności, przetworniki analogowo-cyfrowe ADC i wiele innych praktycznych układów. Posiadają one unikalny - wypalany w fazie produkcji - identyfikator. Tą własność wykorzystuje każdy program obsługujący 1-wire oraz iButton. Są to poniekąd gotowce, więc ważniejsze tutaj są interfejsy do magistrali 1-wire łączącej iButton ze światem zewnętrznym oraz rzecz jasna oprogramowanie :-) Podstawowymi cechami dobrego oprogramowania są niewątpliwie możliwość wyszukiwania urządzeń oraz bindowania rejestrów urządzeń na odpowiednie obiekty ze zmapowanymi obszarami pamięci dostępnej do odczytu/zapisu. Z takiej abstrakcji wyrasta kilka powszechnie znanych i lubianych projektów obsługujących tą technologię t.j. digitemp. Poniżej zawarte są przykłady wywołań z linii poleceń i stosowne komentarze.

Oto zdjęcie zabawki pierwszej, którą jest zestaw startowy iButton kit. Jeden z adapterów dla technologii iButton tzw. pastylka
Using the 1-Wire® Public Domain Kit
protokół 1-wire wg wikipedii
, czyli w zasadniczym mniemaniu elektronicznym miernikiem/rejestratorem temperatury. Ten starter Kit zawiera są są to następujące układy:

  • DS2502/DS1982 1Kbit Add only memory - interfejs łączący port RS-232 z 1-wire dla iButton z dostępnym 1kB pamięci do wykorzystania

  • DS1921/H/Z Thermochron iButton - cyfrowy rejestrator temperatury z programowanymi alarmami w zakresie 0 do +45 stopni C (+/- 1 stopien C)





Przykład wywołania digitemp:

$ sudo digitemp_DS9097U -w -s /dev/ttyS0
DigiTemp v3.3.2 Copyright 1996-2004 by Brian C. Lane
GNU Public License v2.0 - http://www.brianlane.com
Turning off all DS2409 Couplers
..
Devices on the Main LAN
2103410000C034C4 : DS1921/H/Z Thermochron iButton
091AAD62010000BB : DS2502/DS1982 1Kbit Add only memory


Nieco skromniejszy - zrobiony w ok. 15 minut - czujnik temperatury oparty na kostce DS18S20 - umożliwiającej pomiar temperatury w zakresie od -55 do + 125 stopni C. Realizacja ogólnie znana




Przykład wywołania digitemp z banalnym "na kolanie" robionym interfejsem:

$ digitemp_DS9097 -w -s /dev/ttyS0
DigiTemp v3.3.2 Copyright 1996-2004 by Brian C. Lane
GNU Public License v2.0 - http://www.brianlane.com
Turning off all DS2409 Couplers
.
Devices on the Main LAN
28579B3C00000028 : DS18B20 Temperature Sensor


Linki do API oraz oprogramowanie do komunikacji z czujnikami 1-wire (iButton)
http://www.maxim-ic.com/products/ibutton/solutions/search.cfm?Action=DD&id=207
http://www.maxim-ic.com/products/ibutton/solutions/product.cfm?id=428
http://www.maxim-ic.com/products/ibutton/solutions/company.cfm?id=181
http://www.maxim-ic.com/products/ibutton/solutions/product.cfm?id=373
http://www.maxim-ic.com/products/ibutton/solutions/product.cfm?id=389

w tym powalające projekty OpenSource:

http://sourceforge.net/projects/owfs/
One Wire Temperature Finder (bohaterski kod od googla używany w opisie)

http://sourceforge.net/dbimage.php?id=71236
http://owfs.sourceforge.net/faq.html
http://owfs.sourceforge.net/owpython.html
http://www.pyzine.com/Issue007/Section_Articles/article_MobileDataCollection.html
http://owfs.sourceforge.net/install.html
http://www.jjoseph.org/misc_projects/1-wire_sensors.html
http://www.kaboodle.com/jon_p/1-wire-electricity-consumption-measuerment.html
http://stackoverflow.com/questions/113185/how-do-i-use-owfs-to-read-an-ibutton-temperature-logger
http://www.jjoseph.org/index.php?option=com_staticxt&staticfile=/machine24.html
http://www.ourcoolhouse.com/monitor/monitor.htm
http://stackoverflow.com/questions/113185/how-do-i-use-owfs-to-read-an-ibutton-temperature-logger
http://www.jjoseph.org/index.php?option=com_staticxt&staticfile=/machine24.html

Python bindings and wrappers for accessing iButton devices on a 1-wire net

Java client for DS1923 iButton with server written in PHP for storage and visualization of data

http://sourceforge.net/dbimage.php?id=60310
www.capgo.com/Resources/SoftwareDev/omap-owire.pdf
http://oww.sourceforge.net/hardware.html
http://www.codeproject.com/KB/cpp/ibuttoninterface.aspx
http://www.audon.co.uk/1wire_humidity.html
http://www.maxim-ic.com/products/1-wire/software/
http://www.mrsoft.fi/ohj01en.htm
http://www.digitemp.com/
http://www.digitemp.com/images/screenshots/walk1wire.png
http://www.digitemp.com/images/screenshots/init1wire.png
http://elektroniikka.org/thermometer/?page=adapter
http://www.maxim-ic.com/products/ibutton/software/1wire/images/screenshot.gif
http://www.maxim-ic.com/quick_view2.cfm?go=part_number_search&ss=DS1921
Stacja pogodowa
Objaśnienie działania OWFS

Jest tego na prawdę sporo jak na okres ok. 10-letniego istnienia technologii iButton.

OWFS - najpopularniejsze rozwiązanie obsługi magistrali 1-wire


Uruchomienie serwera w trybie DEBUG:

sudo /opt/owfs/bin/owserver -d /dev/ttyS0 --8bit -p 127.0.0.1:40141 --Celsius --foreground --error_print 2 --error_level 9


Uruchomienie serwera w trybie normalnym z logowaniem błędów:

sudo /opt/owfs/bin/owserver -d /dev/ttyS0 --8bit -p 127.0.0.1:40141 --Celsius --foreground --error_print 2



Uruchomienie prostego klienta w języku Python, który wyświetli temperaturę z czujnika w stopniach Celsjusza:

#! /usr/bin/env python

import sys
import ownet

if len(sys.argv) != 3:
print 'temperatures.py server port'
sys.exit(1)

r = ownet.Sensor('/', server=sys.argv[1], port=int(sys.argv[2]))
e = r.entryList()
s = r.sensorList()
print 'r:', r
print 'r.entryList():', e
print 'r.sensorList():', s

for x in r.sensors():
if hasattr(x, 'temperature'):
print x, x.temperature


$ python temperatures.py 127.0.0.1 40141

Dla tych, którzy wolą www istnieje możliwość postawienia serwera www komendą:

/opt/owfs/bin/owhttpd -d /dev/ttyS0 --8bit -p 127.0.0.1:40141 --Celsius --foreground --error_print 2

Wówczas w przeglądarce wpisujemy http://127.0.0.1:40141/ i widzimy:















Dla chcących rozszerzyć wiedzę polecam ten projekt thermd