abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 22:44 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.15.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    včera 22:33 | Zajímavý projekt

    BIGWORDS.PAGE je open-source webová aplikace, která po otevření odkazu v prohlížeči vykreslí přes celou obrazovku jednoduché informační sdělení. Zpráva i její nastavení jsou uložené v části URL za znakem #, například odkaz https://bigwords.page/#abclinuxu zobrazí jako velký bílý nápis 'abclinuxu' na černém pozadí. Obsah odkazu lze upravovat i vestavěným editorem, ten umožňuje nastavovat formátování a vizuální efekty textu, časovače, QR kódy a obrázky. Zdrojový kód je dostupný pod licencí MIT na GitHubu.

    ❗Červivý Hřib krade❗ | Komentářů: 6
    včera 11:55 | Upozornění

    V neděli 11. října proběhne rotace klíče kořenové zóny. Podruhé v historii. Ondřej Filip na blogu CZ.NIC: "Pokud je pro Vás DNS protokol spíše výzva, ale přesto spravujete nějakou síť či DNS resolver, zkuste si jednoduchý test, který připravila firma Cloudflare na této adrese. Obzvláště zbystřit byste měli, pokud uvidíte nějaká červená políčka."

    Ladislav Hagara | Komentářů: 8
    včera 09:55 | IT novinky

    Vláda Spojených států se rozhodla vyřadit americkou softwarovou společnost Microsoft a několik dalších velkých technologických podniků z programu, který umožňuje kvalifikovaným zahraničním pracovníkům získat povolení k trvalému pobytu. Oznámila to včera administrativa amerického prezidenta Donalda Trumpa. Opatření zdůvodnila rozsáhlým zneužíváním programu, který je dlouhodobě terčem kritiky ze strany Trumpových příznivců, neboť prý znevýhodňuje americké pracovníky.

    Ladislav Hagara | Komentářů: 11
    včera 09:44 | IT novinky

    Datové centrum největší ruské technologické společnosti Jandex v Rjazaňské oblasti se stalo cílem dronového útoku a zastavilo provoz. Jandexu se někdy přezdívá „ruský Google“. Provozuje nejoblíbenější internetový vyhledávač v Rusku nebo aplikace pro objednávky jídla a taxi. Využívají jej desítky milionů lidí v rusky mluvících zemích.

    Ladislav Hagara | Komentářů: 11
    včera 09:33 | Nová verze

    Francouzská společnost Mistral AI představila Mistral Large 4 (interně přezdívaný 'le Chonk', volně přeloženo 'pořádný macek'), 'open-weight multimodální hybridní instruct-and-reasoning model s architekturou granulárního MoE, nativně podporující více jak 160 jazyků'. Model má přes jeden bilión parametrů, z nichž při práci využívá 49 miliard, kontextové okno o délce milion tokenů a obrazový enkodér o 1,6 miliardách parametrů.

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 2
    včera 03:22 | Nová verze

    Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.20. Díky 227 přispěvatelům.

    Ladislav Hagara | Komentářů: 0
    včera 03:11 | Komunita

    Simon Long oznámil Raspberry Pi Desktop pro PC a Mac s Intelem postavený na aktualizovaném Debianu 13 Trixie. S klientem Raspberry Pi Connect pro vzdálenou správu. Ke stažení je vedle Raspberry Pi OS pro Raspberry Pi.

    Ladislav Hagara | Komentářů: 1
    8.10. 21:33 | Zajímavý projekt

    ESP32-C3 adblock přemění lacinou vývojovou desku ESP32‑C3 na samostatný DNS blokovač nejenom reklamních domén, minimalistickou alternativu k populárnímu Pi-hole. ESP32-C3 adblock místo objemných názvů domén ukládá jejich 40-bitové FNV-1a hashe do flash paměti, které pak binárně prohledává, kontrola jedné domény trvá přibližně 10 milisekund. Blocklist pojme až 537 tisíc domén a lze jej spravovat přes webové rozhraní. Projekt zatím

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 0
    8.10. 21:00 | Zajímavý software

    ArtCraft je sada open source aplikací pro práci s obrázky a videi "inspirovaných" aplikacemi od Adobe. Napsaných v Rustu. Pro MacOS, Windows i Linux. Běží také ve webovém prohlížeči. Aktuálně se jedná o 7 aplikací: PhotoCraft (Photoshop), VectorCraft (Illustrator), FilmCraft (Premiere Pro), LightCraft (Lightroom), PdfCraft (Acrobat), EffectCraft (After Effects) a DesignCraft (InDesign). Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 8
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2822 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: MySQL zatížení serveru

    12.12.2010 21:57 f1lo | skóre: 16
    MySQL zatížení serveru
    Přečteno: 1504×
    Dobrý večer, chtěl bych se zeptat, zda nevíte, co může způsobovat velké zatížení serveru v době, kdy se do MySQL nahrává SQL soubor (a ještě navíc dost pomalu). Ale v případě, že proces probíhá obráceně (z databáze se vytváří záloha na disk), tak je vše OK a navíc rychle.

    Možná je to špatným nastavením konfigurace MySQL, a proto se ptám, co by to mohlo ovlivňovat, popřípadě jaká z hodnot v MySQL konfigurace se na tomto odráží.

    Děkuji předem.

    Řešení dotazu:


    Odpovědi

    vdusek avatar 12.12.2010 22:40 vdusek | skóre: 27
    Rozbalit Rozbalit vše Re: MySQL zatížení serveru
    Při nahrávání dat do serveru se generují nové indexy. Nemůže to být tím?
    13.12.2010 16:05 f1lo | skóre: 16
    Rozbalit Rozbalit vše Re: MySQL zatížení serveru
    Je to možné, ale možná by ještě pomohla informace, nahrávání je pomalé pouze pokud se jedná o databázi typu INNODB.
    13.12.2010 17:43 x
    Rozbalit Rozbalit vše Re: MySQL zatížení serveru
    Protože při každém novém inputu se začne a skončí transakce.
    poky74 avatar 13.12.2010 18:15 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
    Rozbalit Rozbalit vše Re: MySQL zatížení serveru

    Nejsem si jistý, ale dotaz jako samostatnou transakci zpracovává jen myisam ne?

    Chcete Linuxové samolepky nebo Tuxe na klíče? ->
    13.12.2010 18:43 x
    Rozbalit Rozbalit vše Re: MySQL zatížení serveru
    Naopak. Pokud se na InnoDB provede dotaz "podporovaný transakcí" jako např. insert, update, delete tak se implicitně spustí nová transakce, provede dotaz a commitne se daná transakce a takto pro každý dotaz zvlášt. Stačí buď změnit toto defaultní chování nebo na na začátku odstartovat transakci "ručně" a na konci dotazů provést commit. Rozdíl v rychlosti může být i několik stovek procent.
    13.12.2010 18:44 x
    Rozbalit Rozbalit vše Re: MySQL zatížení serveru
    A taky nesmí být tabulka přeindexovaná, to je cesta do pekel.
    poky74 avatar 13.12.2010 19:02 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
    Rozbalit Rozbalit vše Re: MySQL zatížení serveru

    Jasně, omlouvám se, popletl jsem to, díky

    Chcete Linuxové samolepky nebo Tuxe na klíče? ->
    13.12.2010 18:53 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: MySQL zatížení serveru
    Ukažte konfigurák MySQL.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    13.12.2010 19:36 f1lo | skóre: 16
    Rozbalit Rozbalit vše Re: MySQL zatížení serveru
    Inno DB je už poměrně velká (pro někoho, kdo možná mini, záleží na poměrech :-)), asi kolem 2GB. Možná je chyba už přímo v konfiguraci. Mimochodem mohu se zeptat na příkazy těch transakcí (předpokládám, že to jsou příkazy begin (na začátku) a poté commít na konci, ovšem neznám celou syntaxi)). Děkuji.
    #
    # The MySQL database server configuration file.
    #
    # You can copy this to one of:
    # - "/etc/mysql/my.cnf" to set global options,innodb_buffer_pool_size
    # - "~/.my.cnf" to set user-specific options.
    # 
    # One can use all long options that the program supports.
    # Run program with --help to get a list of available options and with
    # --print-defaults to see which it would actually understand and use.
    #
    # For explanations see
    # http://dev.mysql.com/doc/mysql/en/server-system-variables.html
    
    # This will be passed to all mysql clients
    # It has been reported that passwords should be enclosed with ticks/quotes
    # escpecially if they contain "#" chars...
    # Remember to edit /etc/mysql/debian.cnf when changing the socket location.
    [client]
    port                    = 3306
    socket                  = /var/run/mysqld/mysqld.sock
    
    # Here is entries for some specific programs
    # The following values assume you have at least 32M ram
    
    # This was formally known as [safe_mysqld]. Both versions are currently parsed.
    [mysqld_safe]
    socket		= /var/run/mysqld/mysqld.sock
    nice		= 0
    
    [mysqld]
    #
    # * Basic Settings
    #
    character-set-server    = utf8
    default-character-set   = utf8
    default-collation       = utf8_general_ci
    user                    = mysql
    pid-file                = /var/run/mysqld/mysqld.pid
    socket                  = /var/run/mysqld/mysqld.sock
    port                    = 3306
    basedir                 = /usr
    datadir                 = /var/lib/mysql
    tmpdir                  = /tmp
    language                = /usr/share/mysql/english
    skip-external-locking
    skip-locking
    # skip-name-resolve
    
    default-storage-engine = INNODB
    
    #
    # Instead of skip-networking the default is now to listen only on
    # localhost which is more compatible and is not less secure.
    bind-address            = 0.0.0.0
    #
    # * Fine Tuning
    #
    net_buffer_length       = 1024K
    key_buffer              = 16M
    key_buffer_size         = 128M
    max_allowed_packet      = 2M
    thread_concurrency      = 4
    thread_stack            = 64K
    thread_cache            = 128M
    thread_cache_size       = 512
    innodb_buffer_pool_size = 1024M
    innodb_additional_mem_pool_size = 25M
    innodb_flush_method = O_DSYNC
    innodb_flush_log_at_trx_commit = 0
    innodb_file_per_table = 1
    innodb_table_locks = 0
    innodb_thread_concurrency = 4
    # This replaces the startup script and checks MyISAM tables if needed
    # the first time they are touched
    myisam-recover          = BACKUP
    #max_connections        = 100
    max_connections         = 150
    max_user_connections    = 200
    #table_cache            = 512
    table_cache             = 1500
    
    #
    # * Query Cache Configuration
    #
    query_cache_limit       = 1M
    #query_cache_size        = 512M
    query_cache_size        = 64M
    
    tmp_table_size          = 256M
    join_buffer_size        = 1M
    sort_buffer_size        = 1M
    read_buffer_size        = 1M
    read_rnd_buffer_size    = 1M
    #
    # * Logging and Replication
    #
    # Both location gets rotated by the cronjob.
    # Be aware that this log type is a performance killer.
    # log                    = /var/log/mysql/mysql.log
    #
    # Error logging goes to syslog. This is a Debian improvement :)
    #
    # Here you can see queries with especially long duration
    #log_slow_queries	= /var/log/mysql/mysql-slow.log
    long_query_time         = 5
    #log-queries-not-using-indexes
    #
    # The following can be used as easy to replay backup logs or for replication.
    # note: if you are setting up a replication slave, see README.Debian about
    #       other settings you may need to change.
    #server-id              = 1
    #log_bin                = /var/log/mysql/mysql-bin.log
    expire_logs_days        = 7
    max_binlog_size         = 300M
    
    log-error               = /var/log/mysqld/error.log
    log-slow-queries        = /var/log/mysqld/slow.log
    
    #binlog_do_db           = include_database_name
    #binlog_ignore_db       = include_database_name
    #
    # * BerkeleyDB
    #
    # Using BerkeleyDB is now discouraged as its support will cease in 5.1.12.
    skip-bdb
    #
    # * InnoDB
    #
    # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
    # Read the manual for more InnoDB related options. There are many!
    # You might want to disable InnoDB to shrink the mysqld process by circa 100MB.
    #skip-innodb
    #
    # * Security Features
    #
    # Read the manual, too, if you want chroot!
    # chroot = /var/lib/mysql/
    #
    # For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
    #
    # ssl-ca=/etc/mysql/cacert.pem
    # ssl-cert=/etc/mysql/server-cert.pem
    # ssl-key=/etc/mysql/server-key.pem
    
    [mysqldump]
    quick
    quote-names
    max_allowed_packet      = 64M
    
    [mysql]
    #no-auto-rehash	# faster start of mysql but no tab completition
    
    [isamchk]
    key_buffer              = 128M
    
    #
    # * NDB Cluster
    #
    # See /usr/share/doc/mysql-server-*/README.Debian for more information.
    #
    # The following configuration is read by the NDB Data Nodes (ndbd processes)
    # not from the NDB Management Nodes (ndb_mgmd processes).
    #
    # [MYSQL_CLUSTER]
    # ndb-connectstring     = 127.0.0.1
    
    
    #
    # * IMPORTANT: Additional settings that can override those from this file!
    #   The files must end with '.cnf', otherwise they'll be ignored.
    #
    !includedir /etc/mysql/conf.d/
    13.12.2010 22:59 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: MySQL zatížení serveru
    Konfigurace pro stroj, který má 2GB a víc paměti by mohla být OK, pravděpodobně používáte MySQL jen|hlavně pro InnoDB tabulky.
    Pokud má DB 2GB a dotaz (soubor co se nahrává) pracuje s daty v celé databázi a innodb_buffer_pool_size je 1GB, asi se to trochu zpomalí.
    Můžete zkusit změnit innodb_flush_method = O_DSYNC na innodb_flush_method=O_DIRECT, což by mohlo zápis zrychlit.
    Jinak trasakce ovlivňuje nastavení autocommit.
    Pokud tedy přistupujete např. z PHP a autocommit je 1, tak se každý vyvolaný dotaz provede ihned bez ohledu na to jestli jsou používány příkazy BEGIN/COMMIT atd..
    Ano, BEGIN začíná transakci, ale obvykle není nutné, transakce se otevře i tak, COMMIT transakci ukočí úspěšně a ROLLBACK data vrátí do stavu před započetím transakce.

    „nahrává SQL soubor“ - co to přesně znamená?, SQL příkaz z INSERTy o několika 10MB, nebo co ten soubor dělá?
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    16.12.2010 17:28 f1lo | skóre: 16
    Rozbalit Rozbalit vše Re: MySQL zatížení serveru
    Děkuji za reakci. Ano stroj má 4GB RAM, MySQL využívá něco kolem 2GB. innodb_flush_method jsem zkusil změnit, uvidíme, co to udělá. Skript (sh) se pouští pomocí cronu. Ten soubor je vlastně záloha celé databáze vždy z minulého týdne, jelikož dost často využívám obnovy dat, tzn mám 2 databáze: 1.data 2.data_zaloha_tydenni
    16.12.2010 18:15 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: MySQL zatížení serveru
    A mysqldump + bzip2 případně gzip by nebyl vhodnější?
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    16.12.2010 18:39 f1lo | skóre: 16
    Rozbalit Rozbalit vše Re: MySQL zatížení serveru
    Nejde mi o samotné soubory databáze, ty si jednou za čas vykopíruji ze serveru někam na lokální PC. Ovšem jednou za čas potřebuji určitá data obnovit ze zálohy (a proto se mi jednou za týden záloha nahraje do databáze pro zálohu, protože nebudu přeci otevírat 2gigový soubor a hledat tam data (o několika stovek / tisíce řádků) pro daný účet - pro tyto účely mám napsaný skript, který z databáze zálohy vykopíruje potřebná data do databáze pro ostrý provoz. Snad to chápete.
    17.12.2010 08:50 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: MySQL zatížení serveru
    Popravdě nechápu, ale čekal jsem takovou odpověď. Chápu co píšete, ale nechápu proč to tak děláte. :)
    mysqldump nezálohuje „soubory databáze“, ale vyváří SQL dotaz, kterýmžto můžete data obnovit.
    Zálohovat takto lze celou DB, nebo jen konkrétní tabulku, takže není nutné hledat, stačí si jen ty zálohy rozdělit dle potřeby.

    Pokud se vrátím k původní otázce, tak v tomto případě je asi logické, že se to celé zpomalí „zatíží“, pravděpodobně pracujete, s velkými daty na vstupu (vybíráte data ze celé DB) a vytváříte spoustu nových.
    Tam Vám může opravdu pomoct odstranění indexů (a cizích klíčů, používáte-li je) v DB, do které zálohujete.
    Pokud je tam v té zálohovací (cílové) DB potřebujete, odstraňte je před zálohou (jen v té cílové!) a po záloze je vytvořte.
    Pokud zálohujete celou db a potřebujte ji mít jako živou db, tak jednoznačně proveďte mysqldump do souboru a pak z toho souboru importujte do té záložní db, kterou nejlépe vytvoříte vždy nově (DROP DATABASE, CREATE DATABASE), nebo to necháte i na tom importovaném exportu.
    Důležité je to dělat přes soubor na 2× export do souboru a pak import ze souboru, nespojovat to do jednoho příkazu, pokud nemáte úplně zdechlé disky, tak to bude rychlejší.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    17.12.2010 15:23 f1lo | skóre: 16
    Rozbalit Rozbalit vše Re: MySQL zatížení serveru
    Dobře děkuji za odpověď, nejspíše se to pokusím vyřešit jiným řešením, už delší dobu mi tohle přišlo zbytečné a zdlouhavé.
    17.12.2010 15:45 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: MySQL zatížení serveru
    Není zač.
    Pročtěte si možné parametry mysqldup-u, ať si to vytvoříte dle svých představ.
    Pozor na to jestli máte v exportu i manipulaci s DB, bo tam bude logicky uvedena ta z které jste to exportoval, takže když to chcete dá do nové, tak operaci s DB řešte mimo dump, nebo to musite v tom dumpu změnit (v tomto ohledu zajímavé přepínače --add-drop-database a --no-create-db).
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

    Založit nové vlákno • Nahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.