Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pomoc w doborze serwera
jbadyl
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 19.06.2010

Ostrzeżenie: (0%)
-----


Witam, mam pewien problem strona która posiadam w tej chwili hostowana w home.pl linia ekonomiczna (ale hosting w lini biznesowej tez nic nie zmienia) (IMG:style_emoticons/default/smile.gif) zaczyna działać bardzo wolno problemem są zapytania do bazy danych.
Nie mam możliwości szybkiego zoptymalizowania zapytań ze względu na użycie gotowego rozwiązania nieszczęśliwie połączonego z rozwiązaniem autorskim.

Strona ma około 100 000 odsłon miesięcznie, baza mysql zajmuje około 25 mb, średnio w każdej z tabel jest około 3k rekordów w 4 po 15k, sporo indeksów. A większość zapytań tego gotowego rozwiązania użytego w serwisie podczas jednego zapytania łączy za pomocą join co najmniej 5 - 8 tabel i robi z nimi dziwne rzeczy.
Jakich rozmiarów serwer polecacie żeby strona działał to sprawnie, stabilnie, szybko a ja nie poszedł z torbami, czy wystarczający był by już jakiś VPS ( z odpwiednią konfiguracją mysqla zeby sobie wszystko ładnie w pamięci trzymał bo baza nie jest jakaś specjalnie ogromna) czy moze jestem w błędzie ?

Co jest minimalną granicą tak poniżej której nie powinienem schodzić jeżeli chodzi o specyfikacje serwera ?

JB.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
jbadyl
post
Post #2





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 19.06.2010

Ostrzeżenie: (0%)
-----


Dostałem slow logi, i niektóre rzeczy trwają sporo ale od strony bazy danych nie mam tego jak ugryźć bo z indeksami przesadzać nie ma sensu bo to może zaszkodzić. Wg pomocy technicznej z hostingiem jest wszystko ok.


Przykładowe zapytanie,

  1. SELECT offers.id, items.name, items.description AS description, items.userId, users.name AS userName, users.city AS city, users.countryId AS country, countries.name AS countryName, winnerUsers.name AS winnerName, startDate, endDate, type, url AS imageURL, smallUrl AS imageSmall, oc.categoryId AS categoryId, offers.currentPrice, offers.active, offers.winner, offers.draft, offers.inWebstore,offers.views,offers.startPrice,offers.adult,offers.shipConditions,gs_users.user_photo, tags.tag_id, youtubeVideo, votes, points, rating FROM sklep_offers offers LEFT JOIN sklep_items items ON items.id=itemId LEFT JOIN sklep_users users ON users.id=items.userId LEFT JOIN sklep_images images ON images.id=imageId LEFT JOIN sklep_offers_categories oc ON oc.offerId=offers.id LEFT JOIN sklep_users winnerUsers ON winnerUsers.id=offers.winner LEFT JOIN sklep_countries countries ON users.countryId=countries.id LEFT JOIN `tag_work` tags ON tags.id_work = items.id_work_fk LEFT JOIN users gs_users ON users.id_user_fk=gs_users.id_user WHERE (currentPrice BETWEEN 0 AND 1000000000 AND offers.active=1 AND offers.draft=False) OR (offers.draft=False AND offers.type="STANDARD" ) GROUP BY offers.id ORDER BY offers.views DESC


jedno z najcięższych zapytań SQL wg logów które dostałem najdłużej 5 sekund, średnio koło 3 sekund trwa jego wykonanie wykonanie, i teraz jak to ruszyć skoro jego wynik jest zależny od ilości wyświetleń elementów na stronie plus stronnicowanie poprzez limit, wiec przy ponownym wywołaniu w zupełności wystarcza cache MySQL w takim krótkim okresie czasu.

Chociaż może ktoś z was widzi jak to lepiej zrobić ?

Wracając do VPS najlepiej taki który pozwolił by mi bez zbędnych przenosin na zwiększanie parametrów coś jak w chmurze, jednak taniej niż w e24cloud,

Ten post edytował jbadyl 11.08.2012, 17:40:07
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 13:32