konto usunięte

Temat: Jaki framework?

Tak bardzo jadą wszyscy po CI że nadal php4, ale co to tak na prawdę robi? Przecież piszemy w nim i tak php5, można używać rozszerzeń Zenda, no i jest cholernie łatwy, wystarczy podstawowa znajomość php by przejść w świat OOP i ugryźć temat frameworków :) Olbrzymia baza materiałów, w porządku support, na prawdę sporo plusów, nie ma za wiele wbudowanego, ale jest po prostu WYGODNY.

Ja aktualnie wykonuję sporo rzeczy na CI, jest na prawdę fajny dla początkujących, a nawet tych średnio zaawansowanych, jest bezpieczny, szybki, lekki. Myślę że karanie go za php4 nie jest dobre, bo wytłumaczcie mi, co złego w tym że jest kompatybilny wstecz?

Myślałem o Agavi, ale nie wiem czy to nie jest wybieranie się na głęboką wodę ponieważ moja znajomość php jest nadal tylko podstawowa, a Symfony... wiele dobrego o nim wyczytałem, a nawet usłyszałem ale czy ja laik jeśli chodzi o OOP mam czego tam szukać?Krystian Podemski edytował(a) ten post dnia 16.03.09 o godzinie 21:30
Wojciech Sznapka

Wojciech Sznapka CTO @ STS Zakłady
Bukmacherskie

Temat: Jaki framework?

Krystian Podemski:
Myślałem o Agavi, ale nie wiem czy to nie jest wybieranie się na głęboką wodę ponieważ moja znajomość php jest nadal tylko podstawowa, a Symfony... wiele dobrego o nim wyczytałem, a nawet usłyszałem ale czy ja laik jeśli chodzi o OOP mam czego tam szukać?Krystian Podemski edytował(a) ten post dnia 16.03.09 o godzinie 21:30

jak przeczytasz książkę Symfony Book, to poznasz i Symfony i MVC :-) potem 24 odcinkowy tutorial pod tytułem Jobeet i można śmiało robić, podpierając się od czasu do czasu dokumentacją API.

Co do cieżkości Symfony - fajnie by było poczytać te porównania i testy o których ciągle mowa.
Bartosz Ratajczyk

Bartosz Ratajczyk MS SQL Developer

Temat: Jaki framework?

Wojciech Sznapka:
Co do cieżkości Symfony - fajnie by było poczytać te porównania i testy o których ciągle mowa.

Nie wiem na ile będzie miarodajne - np. http://paul-m-jones.com/?p=421

(za http://fabien.potencier.org/talk/22/phpquebec-2009-sym...

konto usunięte

Temat: Jaki framework?

Jeszcze na samym początku istnienia Symfony pojawiło się coś takiego:

http://www.symfony-project.org/blog/2007/06/11/is-symf...

I nie można autorowi nie przyznać racji w jedym. Nie ma sensu porównywać szybkości frameworków na podstawie szybkości wyświetlenia strony "Hello Wrold".

Gdyby tak porównywać to nalezałoby strony w assemblerze pisac bo najszybciej by się wykonywało...

konto usunięte

Temat: Jaki framework?

Tak czytam te posty i nadziwić się nie mogę ile emocji w dorosłych ludziach może wzbudzać pytanie w stylu "kogo bardziej kochasz - mamusię czy tatusia?".

20 lat temu bluzgałem na "atarowców". Później "grzybiarze" szturmowali moją Amigę. Całe szczęście, że nie słychać teraz zbyt wiele o konfliktach między obozami Mac i PC. Może dlatego, że ludzie znają te platformy, wiedzą jakie są ich wady, zalety, ograniczenia. Wybierają odpowiedni model i zajmują się robotą zamiast spieraniem.

Większość z nas miała styczność z różnymi frameworkami i w trakcie ich poznawania mogła wybrać najlepszy dla siebie. Czy naprawdę zwracaliście wtedy uwagę na szybkość lub zgodność z PHP5? Wybór nie był przeważnie skutkiem wielogodzinnych analiz, a wynikiem przypadku - zauroczenia i zgłębienia wiedzy do momentu aż okazało się, że nie można w tym cudzie zrobić czegoś na czym nam zależy. Mając już tę wiedzę szukaliśmy innego narzędzia i historia się powtarzała do momentu aż wszystkie nasze potrzeby zostały spełnione. Ten proces jest niestety niezbędny.

Moim zdaniem dobry framework to taki, który rozumiemy i którego ograniczenia znamy. Taki, który jest dla nas transparentny podczas tworzenia aplikacji ponieważ nie zastanawiamy się jak go używać. Po prostu używamy podobnie jak nie zastanawiamy się co zrobić z łopatą - kopiemy.:)

Framework musi spełniać pewne krytyczne oczekiwania, które na pewno mamy. Oczekujemy, że część pracy zostanie z nas zdjęta. Aby się o tym przekonać warto po prostu zapoznać się z podstawowymi funkcjami danego frameworka.

Kolejnym krokiem jest poczytanie jakiegoś tutoriala (blog?:)). Jeśli oferowane funkcje ci odpowiadają i rozumiesz kod bez czytania dodatkowych komentarzy to myślę, że ten framework jest dla Ciebie.

Inna droga: uczysz się używać każdego sensownego frameworka i wybierasz najlepszy kierując się subiektywnym osądem. Oczywiście jeśli dysponujemy czasem.

Z mojego doświadczenia:
Przeszedłem okres Zenda - podziękowałem. Później napisałem własny lżejszy framework (taki mały Zend;)), którego używałem (nie tylko ja) do produkcji oprogramowania w firmie - sprawdził się, chociaż powstał niejako przy okazji. Problem w tym, że potrzebuję nowych narzędzi, a nie mam czasu pisać jednocześnie core'a i samej aplikacji, więc zacząłem poznawać CakePHP. Oferuje on jak dla mnie zbyt wiele. Nie potrzebuję koparki i spychacza tylko łopaty i ew. grabek. Nastał więc CodeIgniter. I to było to do czasu aż zapoznałem się z Kohana. I co? I zostanę przy tym do dnia gdy analizując kolejny projekt stwierdzę, że nie da się zrobić tego szybko w tym frameworku. Była to jednak moja droga, która w przypadku większości osób się nie sprawdzi.:)

BTW: Niektórzy uważają, że CI jest lamerski. OK. Jaki język taki frmework (i oczywiście wszyscy od nielamerskiego symphony mnie teraz zlinczują:D).
Marcin Lejman

Marcin Lejman Właściciel, iTrans

Temat: Jaki framework?

Paweł K.:
BTW: Niektórzy uważają, że CI jest lamerski. OK. Jaki język taki frmework (i oczywiście wszyscy od nielamerskiego symphony mnie teraz zlinczują:D).


Prędzej zlinczują Cię za to: symphony :-)

konto usunięte

Temat: Jaki framework?

a tak z innej beczki

który framework jest najwolniejszy w trywialnej czynności jaką jest napisanie na ekranie 'Hello Word'?
Adam W.

Adam W. senior php
developer, Symfony

Temat: Jaki framework?

Przemysław R.:
a tak z innej beczki

który framework jest najwolniejszy w trywialnej czynności jaką jest napisanie na ekranie 'Hello Word'?

no jak to jaki - cake albo symfony :)
ja czekam na symfony 2.0 - jeżeli będzie tak jak Fabien przedstawia na wykresach to już teraz warto się wgryźć w ten FW, żeby później cieszyć się z demona prędkości.
Wojciech Sznapka

Wojciech Sznapka CTO @ STS Zakłady
Bukmacherskie

Temat: Jaki framework?

Do kolegów znających się na Apache Benchmark - jak dobrać parametry, żeby test dał satysfakcjonujące wyniki? Domyślam się, że ab -t60 http://hello_world , ale jak zwiększam concurrency, to wyniki są jakby lepsze ;-) Jak to zrobić, żeby było "pro"?

edit:
odpowiem sobie chyba sam: ab -t60 -k -c2 http://hello_world/Wojciech Sznapka edytował(a) ten post dnia 17.03.09 o godzinie 23:10

konto usunięte

Temat: Jaki framework?

Wojciech Sznapka:
Do kolegów znających się na Apache Benchmark - jak dobrać parametry, żeby test dał satysfakcjonujące wyniki? Domyślam się, że ab -t60 http://hello_world , ale jak zwiększam concurrency, to wyniki są jakby lepsze ;-) Jak to zrobić, żeby było "pro"?

edit:
odpowiem sobie chyba sam: ab -t60 -k -c2 http://hello_world/Wojciech Sznapka edytował(a) ten post dnia 17.03.09 o godzinie 23:10

a masz jakieś wyniki do zaprezentowania?
Wojciech Sznapka

Wojciech Sznapka CTO @ STS Zakłady
Bukmacherskie

Temat: Jaki framework?

Całość projektu wyglądała tak:


wowo@wowo-pc:~/localhost/hello_world$ symfony -V
symfony version 1.1.4 (/usr/share/php/symfony)



mkdir hello_world
cd hello_world
symfony generate:project hello_world
symfony generate:app frontend
symfony generate:module frontend default


i w pliku apps/frontend/modules/default/actions/actions.class.php

1 < ?php
2
3 class defaultActions extends sfActions
4 {
5 public function executeIndex($request)
6 {
7 return $this->renderText('Hello world');
8 }
9 }


Do tego vhost apache'a i wpis do /etc/hosts: 127.0.0.1 hello_world

Response header:

Date: Tue, 17 Mar 2009 22:31:49 GMT
Server: Apache/2.2.9 (Ubuntu) mod_jk/1.2.26 PHP/5.2.6-2ubuntu4.1 with Suhosin-Patch
X-Powered-By: PHP/5.2.6-2ubuntu4.1
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 11
Keep-Alive: timeout=15, max=98
Connection: Keep-Alive
Content-Type: text/html; charset=utf-8

200 OK


No i odpowiedź ab'a

wowo@wowo-pc:~/localhost$ ab -t60 -c10 -k http://hello_world/
This is ApacheBench, Version 2.3
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking hello_world (be patient)
Finished 2560 requests


Server Software: Apache/2.2.9
Server Hostname: hello_world
Server Port: 80

Document Path: /
Document Length: 11 bytes

Concurrency Level: 10
Time taken for tests: 60.016 seconds
Complete requests: 2560
Failed requests: 0
Write errors: 0
Keep-Alive requests: 2540
Total transferred: 1286790 bytes
HTML transferred: 28160 bytes
Requests per second: 42.66 [#/sec] (mean)
Time per request: 234.438 [ms] (mean)
Time per request: 23.444 [ms] (mean, across all concurrent requests)
Transfer rate: 20.94 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 6.8 0 190
Processing: 45 234 34.3 233 534
Waiting: 45 233 34.3 233 534
Total: 45 234 33.9 233 534

Percentage of the requests served within a certain time (ms)
50% 233
66% 243
75% 249
80% 253
90% 265
95% 275
98% 298
99% 326
100% 534 (longest request)
Wojciech Sznapka edytował(a) ten post dnia 17.03.09 o godzinie 23:54

konto usunięte

Temat: Jaki framework?

a jakiś inny framework?
i czysty php tak dla porównania
bardzo bym poprosił :)
Wojciech Sznapka

Wojciech Sznapka CTO @ STS Zakłady
Bukmacherskie

Temat: Jaki framework?

czysty php

1 < ?
2 echo 'Hello world';


całość też wrzucona w virtual host

odpowiedź ab'a

wowo@wowo-pc:~/localhost$ ab -t60 -c10 -k http://hello_php/
This is ApacheBench, Version 2.3
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking hello_php (be patient)
Completed 5000 requests
Completed 10000 requests
Completed 15000 requests
Completed 20000 requests
Completed 25000 requests
Completed 30000 requests
Completed 35000 requests
Completed 40000 requests
Completed 45000 requests
Completed 50000 requests
Finished 50000 requests


Server Software: Apache/2.2.9
Server Hostname: hello_php
Server Port: 80

Document Path: /
Document Length: 11 bytes

Concurrency Level: 10
Time taken for tests: 10.083 seconds
Complete requests: 50000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 49510
Total transferred: 14428822 bytes
HTML transferred: 550033 bytes
Requests per second: 4958.77 [#/sec] (mean)
Time per request: 2.017 [ms] (mean)
Time per request: 0.202 [ms] (mean, across all concurrent requests)
Transfer rate: 1397.45 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.2 0 9
Processing: 0 2 2.3 2 81
Waiting: 0 2 2.3 1 81
Total: 0 2 2.4 2 81

Percentage of the requests served within a certain time (ms)
50% 2
66% 2
75% 2
80% 3
90% 4
95% 5
98% 8
99% 12
100% 81 (longest request)
Wojciech Sznapka edytował(a) ten post dnia 17.03.09 o godzinie 23:52

konto usunięte

Temat: Jaki framework?

czy mi się wydaje ale gołe PHP wygenerowało tą stronę 115 razy szybciej niż ten framework

co jest grane?
Marcin Lejman

Marcin Lejman Właściciel, iTrans

Temat: Jaki framework?

jeżeli test AB odpalałeś z tego samego hosta, na którym stoi Apache, to nie jest to szczególnie wiarygodna metoda pomiaru.
Adam W.

Adam W. senior php
developer, Symfony

Temat: Jaki framework?

Marcin Lejman:
jeżeli test AB odpalałeś z tego samego hosta, na którym stoi Apache, to nie jest to szczególnie wiarygodna metoda pomiaru.

ale jeżeli porównujesz dwie strony na tej samej maszynie, z tak samo obciążonym systemem - praktycznie wszystko to samo, tylko testowane pliki inne - to można to uznać za dobre porównanie?

na pytanie co jest grane odnośnie symfony można odpowiedzieć - ten typ tak ma:)
Wojciech Sznapka

Wojciech Sznapka CTO @ STS Zakłady
Bukmacherskie

Temat: Jaki framework?

Marcin Lejman:
jeżeli test AB odpalałeś z tego samego hosta, na którym stoi Apache, to nie jest to szczególnie wiarygodna metoda pomiaru.

tak, w szczególności, że transferowałem 11 bajtów :-)

konto usunięte

Temat: Jaki framework?

a taki Zend np? jakie ma wyniki?
Wojciech Sznapka

Wojciech Sznapka CTO @ STS Zakłady
Bukmacherskie

Temat: Jaki framework?

Nie znam Zenda i nie chcę poznawać, wystarczy mi widok składni phpa ;-) Ale jak ktoś pośle starowany projekt, to odpalę i pomierzę. Ew. może ktoś zrobi taki pomiar u siebie.
Marcin Lejman

Marcin Lejman Właściciel, iTrans

Temat: Jaki framework?

Adam W.:
ale jeżeli porównujesz dwie strony na tej samej maszynie, z tak samo obciążonym systemem - praktycznie wszystko to samo, tylko testowane pliki inne - to można to uznać za dobre porównanie?

Niekoniecznie. Zależy, czy spełnione były warunki brzegowe, gwarantujące odpowiednią wydajność Symfony (np. przypisanie odpowiedniej ilości pamięci dla PHP).

Dla czystego PHP, wypisującego jedną linijkę, każda konfiguracja będzie dobra. Dla Symfony już niekoniecznie - jedno wąskie gardło wystarczy, żeby mocno zakłócić wyniki w porównaniu do zoptymalizowanego systemu.

A odpowiadając Wojtkowi, bardziej istotna jest w tym wypadku liczba wysyłanych requestów. Sam test AB też generuje pewne obciążenie procesora, wysyłając te requesty, co dla potrzebującego tych zasobów Symfony ma dużo większe znaczenie niż dla prościutkiego, czystego php.

Następna dyskusja:

Jaki framework dla serwisu ...




Wyślij zaproszenie do