Bun (Wikipedie), tj. běhové prostředí (runtime) a toolkit pro JavaScript a TypeScript, alternativa k Node.js a Deno, byl vydán ve verzi 1.4. Představení novinek také na YouTube. Bun byl přepsán z programovacího jazyka Zig do Rustu. Pomocí Claude Fable 5.
Vývojáři KDE na Mastodonu oznámili vydání balíku aplikací KDE Gear 26.08. Přehled novinek i s náhledy a videi v oficiálním oznámení.
Společnost PINE64 kvůli nedostatku a vysokým cenám DRAM a eMMC dočasně pozastavuje výrobu linuxových zařízení. Výroba zařízení jako PineTime, PineVoice a Pinecil pokračuje.
Společnost Stripe se dohodla na akvizici společnosti OpenRouter. Za 7,5 miliardy dolarů.
Byla vydána nová verze 1.27 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.
V pátek 28. srpna se v Praze uskuteční již osmý Mobile Linux Hackday. Jako obvykle se potkáme v pražské pobočce SUSE v Karlíně na Křižíkově, takže kromě mobilního Linuxu je to tentokrát i příležitost přijít se podívat na nově zrekonstruované kanceláře. Začínáme v 10:00, ale dorazit můžete samozřejmě kdykoliv v průběhu dne. Setkáním vás provede David Heidelberg, vývojář GPU ovladačů v Mesa 3D a jeden z hlavních lidí české komunity kolem … více »
Představen byl Raspberry Pi Compute Module 5 Programming Jig. Jedná se o zařízení umožňující připravit Compute Module 5 do plně funkčního stavu bez nutnosti použití dalších vstupně / výstupních desek. Podporuje automatizaci pomocí nástroje rpi-sb-provisioner. Podrobnosti v dokumentaci.
Hackeři ve Francii ukradli data více než půl milionu daňových poplatníků. Je to jeden z největších hackerských útoků v dějinách země. O útoku z konce června informovala až teď daňová správa. Teprve od pondělí dotčeným občanům zasílá e-maily s instrukcemi, jak postupovat dál. Hackeři se sice nedostanou k penězům dotyčných, hrozí ale věrohodné podvody. Hackeři získali třeba celá jména, údaje o rodinných příslušnících nebo také údaje o
… více »Společnost Framework představila nový Framework Laptop 12 s Intel Core Series 3, Thunderbolt 4, Wi-Fi 7, volitelnou čtečkou otisků prstů a podsvícenou klávesnicí s open-source firmwarem ZMK. Objednat lze s předinstalovanou Fedorou 44 KDE Plasma.
Byl vydán Mozilla Firefox 154.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 154 bude brzy k dispozici také na Flathubu a Snapcraftu.
TRUNCATE TABLE maintab2; INSERT INTO maintab2 SELECT * FROM tab1 --až INSERT INTO maintab2 SELECT * FROM tab21po 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:
ionice(1). Samozrejme zbyva spousta otazek (treba jestli web server neceka na SQL). Mozna by bodnul UN*Xovy spravce
# 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/
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); ...
... 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.
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.
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).
Tiskni
Sdílej: