Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Problemy z wydajnością uruchamiania bazy danych w kontenerze docker

Sam Docker nakłada bardzo mało narzutu, po prostu izoluje proces od innych procesów na hoście. Jest jednak wiele rzeczy, które możesz zrobić, aby obniżyć wydajność kontenera:

  1. Uruchom go w systemie Windows/MacOS, dając wbudowanej maszynie wirtualnej tylko część pamięci/procesora macierzystego systemu operacyjnego.
  2. Ogranicz zasoby procesora lub pamięci w kontenerze.
  3. Uruchamiaj wiele kontenerów na swoim hoście. Docker nie jest magiczny, jeśli 10 instancji Java używających 2 gigabajtów pamięci RAM doprowadzi hosta do indeksowania poza kontenerem, nie będą działać lepiej wewnątrz kontenerów.
  4. Komplikacje sieciowe. Każdy kontener jest domyślnie uruchamiany na izolowanym moście sieciowym, gdzie IO może zająć trochę więcej czasu z dodatkowymi przeskokami. A jeśli Twój DNS nie jest prawidłowo skonfigurowany, możesz zauważyć dodatkowe opóźnienia wynikające z nieudanych wyszukiwań.
  5. Wymagania Bare Metal, takie jak bezpośredni dostęp do dysku, nie są domyślnie dozwolone w Dockerze. Możesz przyznać dostęp określonym urządzeniom, ale poza tym skonteneryzowana wersja aplikacji jest celowo izolowana.
  6. Dane w wolumenach mogą znajdować się w mniej wydajnej lokalizacji. Domyślnie jest to twój system plików /var/lib/docker, ale możesz łatwo wskazać to montowanie NFS, gdzie wydajność byłaby jeszcze gorsza.
  7. Błędnie skonfigurowana baza danych, np. zapominając o utworzeniu indeksu.

Krótko mówiąc, pojemnik raczej nie jest problemem, ale upewnij się, że robisz porównanie jabłek z jabłkami.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL — pobierz numer wiersza po wybraniu

  2. Aktualizacja wierszy w jOOQ za pomocą złączeń

  3. MySQL Zend Framework - SQLSTATE[42000]:Błąd składni lub naruszenie dostępu:1064

  4. MySQL / PHP Łączenie tabel bez zawsze wspólnej kolumny

  5. Różnice między utf8 a latin1