Wpis z mikrobloga

Mirki, mam małe pytanie. Mam dość sporo obciążoną stronę (dogemonitor.com). Przy większym ruchu (60-100 online) strona potrafi trochę "przymulić". Muszę wykonywać sporo operacji po stronie PHP tak czy inaczej, tego nie obejdę (chyba, że przepisując stronę na inny język - aka Node.JS, które by się bardziej sprawdziło, ale to dosyć kłopotliwe).

I czy istnieje jakieś narzędzie, gdzie wcisnę sobie w kod microtime() czy coś podobnego, na koniec wykonywania skryptu czasy się zapisują i później mam dostęp do średniej etc.

W tym problem, że nie chcę dodatkowo obciążać tym bazy danych. Potrzebuję, żeby był to jakiś program, który może zapisywać je sobie w pamięci RAM (tego mi na serwerze akurat nie brakuje) i dostęp będę miał przez SSH.

Any ideas?

#programowanie #php #debugowanie
  • 31
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@koob: Ok. To udało mi się zoptymalizować. UNIX_TIMESTAMP(

datetime
) działa o połowę szybciej niż strtotime() w PHP. Czas zmalał do maks 3sek. I tak długo.
  • Odpowiedz
@koob: Rzecz w tym, że ciągle dochodzą nowe :) I muszę zrobić to tak, żeby nie było problemów, kiedy nowe będą dochodziły. Czyli pierw dodać tabelę -> updatować skrypt dodający nowe ordery (żeby obok datetime i timestamp zapisywał), wtedy mogę sobie konwertować datetime na timetamp, dopiero wtedy muszę zmienić skrypty dotyczące pobierania danych (z datetime na timestamp), następnie znowu skrypt dodający i mogę usunąć kolumnę... :)
  • Odpowiedz
@koob: @MacDada: Ok, dzięki panowie za pomoc!

Właśnie sprawdziłem i to, czy używam timestamp czy konwertuję za pomocą mysql z datetime - nie ma znaczenia. Czas jest identyczny. Mam jeszcze jeden pomysł, jak w logice aplikacji to przyspieszyć.
  • Odpowiedz
@Zalazdi: to chyba zrobiles cos zle, skoro masz 71k konwersji mniej, a nie widzisz roznicy w czasie

kolejna sprawa to finetuning mysqla o ile masz dostęp do konfiguracji, odpowiednio dobrane myisam/innodb, indexy itd
  • Odpowiedz