Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dlaczego MySQL nie korzysta ze wszystkich rdzeni?
Forum PHP.pl > Forum > Bazy danych > MySQL
szafik
Witam.
Zainstalowałem sobie specjalnie do tego celu Windowsa 7, bo wiem, że znacznie lepiej radzi sobie z obsługą wielu rdzeni (względem np. XP).

Komputer wyposażony jest w 4 rdzeniowy procesor (Intel Core i5) i jak już wspomniałem Windows 7.
Korzystam z najnowszej wersji MySQL Community Server 5.1.48.

Jednak wykonując wiele złożonych operacji na bazie (całkiem sporej), proces mysqld wykorzystuje jedynie 25% CPU (jeden rdzeń).

W jaki sposób zmusić MySQL'a aby korzystał ze wszystkich rdzeni?
szafik
Na podstawie ostatniego posta można dojść do wniosku, że głównym problemem jest tu jednak system operacyjny (Windows).
Pytanie jednak czy przejście na Linuxa rozwiąże problem, czy jednak ten fragment "Connection to the DB (and most PHP programs only make ONE!) can only use one CPU core. " dotyczy obu systemów, a przeszkodą jest samo PHP?
darophp
Z tego co wiem, to serwery o wiele lepiej jest stawiać na Linuxie. A już tym bardziej jeżeli jest to baza danych. Jak wiadomo Windows nie jest zawsze stabilny, o ile w ogóle jest ... Mój znajomy już się przejechał na win. Dobrze, że dzień wcześniej zrobił kopie danych smile.gif
Mchl
Przeszkodą nie jest samo PHP, tylko to, że zazwyczaj aplikację PHP pisze się w taki sposób, żeby otwierała tylko jedno połączenie (czyli tylko raz wywoływane jest mysql_connect()/mysqli_connect()), a to z kolei wynika ze specyfiki aplikacji webowych (shared hosting itp)

Jak chcesz z aplikacji PHP wywoływać asynchronicznie zapytania to masz takie coś do dyspozycji: http://www.php.net/manual/en/mysqli.reap-async-query.php (jednak aplikacja musi wtedy nawiązać więcej niż jedno połączenie)

Gdzieś na tym forum jest wątek, w którym wstawiłem przykładowy kod, gdzie widać jak dwa zapytania asynchroniczne zwracają wynik dwa razy szybciej niż dwa wywołane jedno po drugim (puszczane na Win Vista).

P.S. Opiekuję się serwerkiem z Win Serrver 2008 i jakoś nie mam lęków po nocach smile.gif Inna sprawa, że backup automatycznie robi się dwa razy dziennie, ale to nie dlatego, że serwer windowsowy, bo na każdym innym też bym tak robił.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.