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í
×
    dnes 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ářů: 3
    dnes 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
    dnes 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ářů: 9
    dnes 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ářů: 0
    dnes 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
    dnes 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ářů: 0
    včera 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
    včera 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
    včera 16:33 | Zajímavý software

    Strands Decider 2B je malý open-source model s 2 miliardami parametrů, určený k rychlé klasifikaci vstupů a rozhodování mezi možnostmi, generující odpovědi ve stylu modelu Jev. Strands dosáhl přibližně 72% shody s Jevem na veřejné testovací sadě JevBench (tento benchmark pochopitleně nepředstavuje přímé srovnání s modelem Jev). Zdrojové kódy jsou k dispozici na GitHubu pod licencí Apache-2.0, váhy modelu na Hugging Face.

    ❗Červivý Hřib krade❗ | Komentářů: 4
    včera 16:22 | Upozornění

    Ve věku 90 let zemřela americká softwarová inženýrka Margaret Hamiltonová, která vedla tým, jenž vyvíjel letový software pro program Apollo amerického Národního úřadu pro letectví a vesmír (NASA).

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

    Dotaz: záťaž > nice --19 > INSERT INTO maintab2 SELECT * FROM tab1 až tab21

    8.11.2012 19:59 dusan456 | skóre: 12 | Poprad
    záťaž > nice --19 > INSERT INTO maintab2 SELECT * FROM tab1 až tab21
    Přečteno: 1199×
    Zdravím,

    mám hlavnú maintab2, ktorá ma 2GB a 3,5 milióna záznamov, nemá index, nepoužíva sa.

    Raz mesačne ju potrebujem aktualizovať z tab1 až tab21, tiež nemajú indexy.
    TRUNCATE TABLE maintab2;
    
    INSERT INTO maintab2 SELECT * FROM tab1
    --až
    INSERT INTO maintab2 SELECT * FROM tab21
    
    po skopírovaní približne prvej tab1 sa to strašne spomalí, všetkým týmto procesom som dal pritom nice --19 a aj napriek tomu je veľká záťaž, úplne sa spomalí apache, web skoro vôbec nefunguje, až kým tieto údaje sa neskopírujú. Potom sa web rozbehne a všetko beží zase rýchlo. Cele to trvá niekoľko minút.

    Neviete prosím poradiť, ako by sa to dalo urobiť bez toho, aby sa takto spomalil web server?

    Řešení dotazu:


    Odpovědi

    8.11.2012 21:05 d.c. | skóre: 30
    Rozbalit Rozbalit vše Re: záťaž > nice --19 > INSERT INTO maintab2 SELECT * FROM tab1 až tab21
    Linux? BSD? UNIX?

    Je dost pravdepodobne, ze nejde o prilisne zatizeni procesoru (takze nice nepomuze), ale o spatnou reakci i/o subsystemu. Muze pomoci vylepsit i/o (disky/radic...), lepsi nastaveni prace s pameti v SQL serveru, prip. pridani pameti. Muze pomoci ionice(1). Samozrejme zbyva spousta otazek (treba jestli web server neceka na SQL). Mozna by bodnul UN*Xovy spravce ;-)
    8.11.2012 21:37 dusan456 | skóre: 12 | Poprad
    Rozbalit Rozbalit vše Re: záťaž > nice --19 > INSERT INTO maintab2 SELECT * FROM tab1 až tab21
    Debian Squezee

    Záťaž procesoru je v poriadku. RAM je 4x1GB.
    # cat my.cnf 
    #
    # The MySQL database server configuration file.
    #
    # You can copy this to one of:
    # - "/etc/mysql/my.cnf" to set global options,
    # - "~/.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
    #
    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
    #
    # Instead of skip-networking the default is now to listen only on
    # localhost which is more compatible and is not less secure.
    bind-address		= 127.0.0.1
    #
    # * Fine Tuning
    #
    key_buffer		= 16M
    max_allowed_packet	= 16M
    thread_stack		= 192K
    thread_cache_size       = 8
    # This replaces the startup script and checks MyISAM tables if needed
    # the first time they are touched
    myisam-recover         = BACKUP
    #max_connections        = 100
    #table_cache            = 64
    #thread_concurrency     = 10
    #
    # * Query Cache Configuration
    #
    query_cache_limit	= 1M
    query_cache_size        = 16M
    #
    # * Logging and Replication
    #
    # Both location gets rotated by the cronjob.
    # Be aware that this log type is a performance killer.
    # As of 5.1 you can enable the log at runtime!
    #general_log_file        = /var/log/mysql/mysql.log
    #general_log             = 1
    #
    # Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
    #
    # Here you can see queries with especially long duration
    #log_slow_queries	= /var/log/mysql/mysql-slow.log
    #long_query_time = 2
    #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	= 10
    max_binlog_size         = 100M
    #binlog_do_db		= include_database_name
    #binlog_ignore_db	= include_database_name
    #
    # * 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!
    #
    # * 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	= 16M
    
    [mysql]
    #no-auto-rehash	# faster start of mysql but no tab completition
    
    [isamchk]
    key_buffer		= 16M
    
    #
    # * 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/
    
    9.11.2012 11:48 Marek
    Rozbalit Rozbalit vše Re: záťaž > nice --19 > INSERT INTO maintab2 SELECT * FROM tab1 až tab21
    S nejvetsi pravdepodobnosti je problem s diskem, ktery nestiha cist/zapisovat. U podobneho typu dotazu nezalezi na CPU. Zkuste to overit treba jak je navrhovano zde.

    Jak zrychlit server? Zkuste to cele davkovat - treba rozdelit podle poctu zaznamu v tabulkach jednotlive dotazy tak, se kopirovaly po mensim poctu zaznamu s prestavkami. Sice tim uplne nevyresite problem s IO, ale alespon muze v mezicasech server zpracovavat dalsi veci. Nevyhoda je pak zpomaleni celeho procesu.
    AraxoN avatar 9.11.2012 16:59 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: záťaž > nice --19 > INSERT INTO maintab2 SELECT * FROM tab1 až tab21
    nice, ani ionice Ti nepomôže. V procese, ktorý je pod nice sa len prepošle SQL príkaz databázovému serveru. To znamená, že pôvodný proces vlastne nič nerobí, len čaká na odpoveď databázového serveru. To svoje čakanie robí s nízkou prioritou, ale to je tak všetko. Až databázový server vykonáva na procesore a diskoch prácu s daným SQL príkazom. Databázový server beží so svojou nezmenenou prioritou. A aj keby si mu prioritu znížil, nepomôžeš si, lebo sa to bude týkať aj všetkých ostatných SQL príkazov, ktoré súbežne s tým databáza vykonáva, takže to pôjde ostatným rovnako pomaly ako predtým.

    Obísť by sa to mohlo dať tak, že dané INSERT-y sa rozbijú na menšie časti a medzi spustením jednotlivých príkazov sa chvíľku počká, aby mali šancu dobehnúť príkazy ostatných používateľov:
    INSERT INTO maintab2 SELECT * FROM tab1 ORDER BY ... LIMIT 1000 OFFSET 0;
    sleep(1);
    INSERT INTO maintab2 SELECT * FROM tab1 ORDER BY ... LIMIT 1000 OFFSET 1000;
    sleep(1);
    INSERT INTO maintab2 SELECT * FROM tab1 ORDER BY ... LIMIT 1000 OFFSET 2000;
    sleep(1);
    ...
    rADOn avatar 12.11.2012 10:40 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: záťaž > nice --19 > INSERT INTO maintab2 SELECT * FROM tab1 až tab21
    Pokud je to MySQL, misto sleepu staci pouzit INSERT LOW_PRIORITY …
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    10.11.2012 17:35 jekub
    Rozbalit Rozbalit vše Re: záťaž > nice --19 > INSERT INTO maintab2 SELECT * FROM tab1 až tab21
    nešlo by pro maintab2 místo tabulky použít pohled?
    10.11.2012 21:11 jano
    Rozbalit Rozbalit vše Re: záťaž > nice --19 > INSERT INTO maintab2 SELECT * FROM tab1 až tab21
    skusil by som to uzavriet do transakcie ak sa tam vytvaraaju indexi...
    mess avatar 10.11.2012 22:06 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
    Rozbalit Rozbalit vše Re: záťaž > nice --19 > INSERT INTO maintab2 SELECT * FROM tab1 až tab21
    ... bez indexů ...
    Problém bude v I/O operacích disku. S tím se moc nedá dělat, pokud do toho nechceš investovat prachy.
    Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
    11.11.2012 08:54 VM
    Rozbalit Rozbalit vše Re: záťaž > nice --19 > INSERT INTO maintab2 SELECT * FROM tab1 až tab21
    Když to nemá index a nepoužívá se, proč se to musí aktualizovat? Pokud se jedná o zálohu, nebylo by lepší vykopírovat data na jiný fyzický disk, čímž by se vyřešilo to zahlcení I/O operacemi?
    12.11.2012 19:40 dusan456 | skóre: 12 | Poprad
    Rozbalit Rozbalit vše Re: záťaž > nice --19 > INSERT INTO maintab2 SELECT * FROM tab1 až tab21
    Ďakujem všetkým za info.

    Rozhodli sme sa zobrať novú vykonnejšiu mašinu, dúfam, že to pomôže celkovo, nielen v tomto prípade.

    Tiež mám ináč tušenie, že to je do veľkej miery v HDD, lebo atop mi už dlhšiu dobu ukazuje 99% vyťaženie a to aj keď tieto nárazové operácie vôbec nerobím.

    To, že sa tieto tabulky nepoužívajú, som mal na mysli, že v tom danom momente insertu nie sú používané, ináč potom samozrejme áno.
    12.11.2012 20:21 Tomáš
    Rozbalit Rozbalit vše Re: záťaž > nice --19 > INSERT INTO maintab2 SELECT * FROM tab1 až tab21

    DB výkonnost je obvykle limitována především rychlostí a množsvím IO operací (s diskem), nikoliv CPU výkonností. Snaha je, aby IO operace (zápisy na disk) byly co nejvíce seskupené, aby hlavička disku se nemusela zbytečně hýbat a mohli se projevit optimalizace pro minimalizaci pohybu hlaviček na disku (sekvenční zápis, NCQ, ...).

    Při zápisu se obvykle musí najít volné místo (blok) na disku, do kterého se data zapíší. Fungující cache pro hledání volného místa k zápisu a bufferování zápisu je základem pro efektivní hromadný zápis.

    Hledání google: innodb insert hned druhý odkaz Something awesome in InnoDB, dává info o tomto problému.

    Zkusil bych zvětšit innodb_change_buffer_max_size, buffery a cache, tak aby se celá cílová tabulka vešla do paměti (2GB není zase tak moc). Bude to útok na alokovanou paměť. Ale přitom systém (OS) nesmí swapovat, jinak bude Vaše snaha swapováním OS pohřbena.

    Moc MySQL neznám, ale PK typu auto increment by možná taky mohl pomoci. Bohužel netuším jak se MySQL chová k tabulkám typu multiset(bag).

    Jdu si nalít další sklenku. Je pozdě večer. Berte moje rady s rezervou.

    Aleš Janda avatar 13.11.2012 15:14 Aleš Janda | skóre: 23 | blog: kýblův blog | Praha
    Rozbalit Rozbalit vše Re: záťaž > nice --19 > INSERT INTO maintab2 SELECT * FROM tab1 až tab21
    Technická: nice --19 nastavuje prioritu -19, což je druhá nejvyšší. Kdyby to tedy fungovalo tak jak jsi očekával, server by přestal reagovat úplně. Zřejmě jsi měl na mysli prioritu 19, což se nastavuje přes nice -19 (pouze jedno minusko).
    13.11.2012 16:15 Kit
    Rozbalit Rozbalit vše Re: záťaž > nice --19 > INSERT INTO maintab2 SELECT * FROM tab1 až tab21
    Priorita -19 se mu povede pouze za předpokladu, že je šílenec a spouští uvedené příkazy jako root.
    15.11.2012 14:09 dusan456 | skóre: 12 | Poprad
    Rozbalit Rozbalit vše Re: záťaž > nice --19 > INSERT INTO maintab2 SELECT * FROM tab1 až tab21
    mal som na mysli 19, čiže low priority, pomylil som sa.

    14.11.2012 09:04 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: záťaž > nice --19 > INSERT INTO maintab2 SELECT * FROM tab1 až tab21
    Zmena prebieha v transakcii? Ak áno, nie je možné robiť commit po každej tabuľke? Ak to ide rýchlo a potom to spomalí, pravdepodobne to prerástlo pamäť a db to musí začať písať do temporary tabuliek na disku.
    Řešení 1× (Michal Buchtík)
    15.11.2012 14:13 dusan456 | skóre: 12 | Poprad
    Rozbalit Rozbalit vše Re: záťaž > nice --19 > INSERT INTO maintab2 SELECT * FROM tab1 až tab21
    Takže len na vysvetlenie, celé tie problémy boli spôsobené starým hardware.

    Máme nový stroj, problémy zmizli, rýchlosť normálna, ako má byť.

    Ponaučenie, že z h.... koláč neupečieš.
    Řešení 1× (l0gik)
    15.11.2012 15:45 lh
    Rozbalit Rozbalit vše Re: záťaž > nice --19 > INSERT INTO maintab2 SELECT * FROM tab1 až tab21
    Neslo by zmenit tabulku maintab2 na typ MERGE a data proste takto nekopirovat?

    môj blog
    15.11.2012 17:51 Kit
    Rozbalit Rozbalit vše Re: záťaž > nice --19 > INSERT INTO maintab2 SELECT * FROM tab1 až tab21
    Vzhledem k tomu, že se tabulka maintab2 nepoužívá, možná by stačil dump - třeba tabulky typu MERGE, ať to má pohromadě.

    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.