Open source software pro úpravu digitálních fotografií LightZone (Wikipedie) byl vydán v nové verzi 5.0.0. LightZone je dnes k dispozici pod licencí BSD. Původně se jednalo o proprietární software vyvíjený společností Light Crafts. Ta v prosinci 2012 souhlasila s uvolněním zdrojových kódů jako open source [Wayback Machine].
Byla vydána verze 0.84 telnet a ssh klienta PuTTY (Wikipedie). Podrobnosti v přehledu nových vlastností a oprav chyb a Change Logu.
Microsoft představil Azure Linux 4.0 a Azure Container Linux. Na konferenci Open Source Summit North America 2026 organizované konsorciem Linux Foundation a sponzorované také Microsoftem. Azure Linux 4.0 vychází z Fedora Linuxu. Azure Container Linux je založen na projektu Flatcar. Azure Linux (GitHub, Wikipedie) byl původně znám jako CBL-Mariner.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 165 (pdf).
Byla vydána verze 9.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a informačním videu.
Firefox 151 podporuje Web Serial API. Pro komunikaci s různými mikrokontroléry připojenými přes USB nebo sériové porty už není nutné spouštět Chrome nebo na Chromiu postavené webové prohlížeče.
Byla vydána nová stabilní verze 8.0 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 148. Přehled novinek i s náhledy v příspěvku na blogu.
Ve FreeBSD byla nalezena a opravena zranitelnost FatGid aneb CVE-2026-45250. Jedná se o lokální eskalaci práv. Neprivilegovaný uživatel se může stát rootem.
Společnost Flipper Devices oznámila Flipper One. Zcela nový Flipper postavený od nuly. Jedná se o open-source linuxovou platformu založenou na čipu Rockchip RK3576. Hledají se dobrovolníci pro pomoc s dokončením vývoje (ovladače, testování, tvorba modulů).
Vývojáři Wine oznámili vydání verze 2.0 knihovny vkd3d pro překlad volání Direct3D na Vulkan. Přehled novinek na GitLabu.
Vzhledem k úmyslnému přebytku paměti ram, mám vytvořený tmpfs ramdisk, kde jsou naházeny sessions a mysql tmp dir (samozřejmě php-apc.stat, memcached) je taky v provozu, innodb vyřazeno, jede to na myisam vše.
Ale stejně se mi nelíbí, že se občas stránka loaduje 0,3s. Prosím, můžete mrknout, jestli vám tam nepřijde něco co by se dalo ještě vylepšit? Vím že tam mám nějakou vyšší rezervu pro cache a indexy, ale to nevadí, vzhledem k velkému přebytku ram.
[client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] # # * Basic Settings # log_slow_queries = ON log_slow_queries = /var/log/mysql/mysql-slow.log long_query_time = 4 user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /mnt/tmpfs/mysql language = /usr/share/mysql/english skip-external-locking skip-locking skip-innodb skip-federated ft_min_word_len = 2 # # 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 = 192M key_buffer_size = 192M 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 = 1k #table_open_cache = 600 #thread_concurrency = 10 thread_concurrency = 6 # # * Query Cache Configuration # query_cache_limit = 16M query_cache_size = 128M 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/Něco z tuneru (jede to chvilku, takže ty read/write ještě trochu zefektivní):
[OK] Maximum possible memory usage: 604.7M (15% of installed RAM) [OK] Slow queries: 0% (0/3K) [OK] Highest usage of available connections: 2% (2/100) [OK] Key buffer size / total MyISAM indexes: 192.0M/8.6M [!!] Key buffer hit rate: 65.9% (21K cached / 7K reads) [OK] Query cache efficiency: 43.9% (1K cached / 2K selects) [OK] Query cache prunes per day: 0 [OK] Sorts requiring temporary tables: 0% (0 temp sorts / 150 sorts) [OK] Temporary tables created on disk: 19% (142 on disk / 739 total) [OK] Thread cache hit rate: 99% (2 created / 372 connections) [OK] Table cache hit rate: 20% (88 open / 432 opened) [OK] Open file limit used: 7% (152/2K) [OK] Table locks acquired immediately: 100% (1K immediate / 1K locks)Díky moc!
$d=mysql_query("SELECT ... FROM tbl ORDER BY id DESC LIMIT 40");
while($a=mysql_fetch_array($d)) {
// echo řádek v tabulce
}
Jak čtu, je to chyba? Bylo by efektivnější jako třeba:
for($i=0;$i<40;$i++) {
$a=mysql_fetch_array(mysql_query("SELECT ... FROM tbl ORDER BY id DESC LIMIT $i,1");
// echo řádek v tabulce
}
?
Co se týče dlouhých skriptů nebo tak to mám v pořádku, jen nějaké SQL dotazy bude potřeba vyladit (viz výše).
Díky.
CREATE TABLE IF NOT EXISTS adm_st ( id int(11) NOT NULL AUTO_INCREMENT, cas varchar(6) COLLATE utf8_czech_ci NOT NULL, acc int(11) NOT NULL, schvalil int(11) NOT NULL DEFAULT '0', zamitl int(11) NOT NULL DEFAULT '0', prevzal int(11) NOT NULL DEFAULT '0', prac int(11) NOT NULL DEFAULT '0', logu int(11) NOT NULL DEFAULT '0', PRIMARY KEY (id), KEY acc (acc), KEY cas_2 (cas) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;a občas do ní provádím tyto dotazy:
db_query("UPDATE adm_st SET prac=(prac+$rozdil) WHERE cas='".date("dmy")."' AND acc={$_SESSION[usr][id]}") or die(mysql_error()); tzn. UPDATE adm_st SET prac=(prac+2) WHERE cas='031212' AND acc=4057;--- a tento dotaz trvá snad nyní už jen jako jediný tak dlouho a nebere mi, proč tomu tak je.
# Query_time: 8.058708 Lock_time: 0.000069 Rows_sent: 0 Rows_examined: 4 SET timestamp=1354532425;Ještě jednou díky!
cas_2 a přehodil podmínky
... WHERE acc=4057 AND cas='031212';Ovšem pokud má jen 300 záznamů, tak je přinejmenším podivné, že se to tak chová. Jako kdyby ta tabulka byla mezitím zamknuta. Pro sloupec
cas bych raději použil datový typ DATE. Bude se s ním lépe pracovat.
id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE adm_st ref cas cas 24 const,const 1 Using where
xdebug.profiler_enable_trigger a nainstalovat do prohlížeče doplňek na ovládání (např. Xdebug helper pro Chrome).
Já obvykle přidávám do svých aplikací jednoduchý profiler, který sbírá základní statistiky i na produkčním serveru. Takže pak vidím, kde to drhne na reálném provozu, ale ztráty na výkonu jsou minimální (pár vhodně umístěných microtime a update jednoho souboru s agregovanými daty). K tomu se ale Xdebug moc nehodí, neboť na jeden request je schopný zalogovat i několik desítek MB dat.
Tiskni
Sdílej: