Fórum Root.cz
Hlavní témata => Server => Téma založeno: thcom 26. 02. 2018, 17:19:55
-
Dobré odpoledne,
Umřel nám starý Linux server ve firmě, dostal jsem nevděčný úkol postavit nový, šéf nechce kupovat Dell HP apod
Na stroji poběží mysql db pro cca 4 klientské win stanice, db má cca 500 MB, nic extra složitého
Chtěl jsem jít cestou Intel cpu Intel MB Intel ssd do RAID mirror, ale koukám, že Intel MB se už nedělá
Jaký MB používáte na Linux servery, který chipset je ideální, jaké ssd, děkuji moc za vaše postřehy
-
... takze sef chce HW bez supportu a pocita s tim, ze kdyz se neco podela, budes trebas taky tejden shanet nejakou nahradu (nebo jeste lip, mesic cekat na reklamaci), chapu to dobre?
Porad lepsi koupit HW z frcu, a trebas 2x, ale na bezny veci sezenes nahradni dily nejmin 10 let.
Jaky chipset je irelevantni, protoze chipsety si dela Intel nebo AMD. A jinej nez ten spravnej ti s danym CPU nebude chodit. Ale zacinas z uplne spatny strany ...
Nejdriv si zjisti, co dela ta databaze, kolik IO ti generuje na disk, jakou zetez CPU atd atd. A jestli ma ta databaze vazne 500 MB ???? tak nepotrebujes SSD, protoze se ti cela vejde do rameti libovolnyho desktopu.
-
Děkuji, mame tu servery dva, mysql se replikuje na záložní, tím řešíme dostupnost
Jak zjistím na Linuxu to IO na disk, zátěž cpu asi přes top že?
-
na cpu htop
na io iotop
-
Bohužel u mysql nestačí vše držet v paměti, pro nejbezpečnější nastavení je potřeba flushovat žurnál na disk po každé transakci - viz např. https://dba.stackexchange.com/questions/12611/is-it-safe-to-use-innodb-flush-log-at-trx-commit-2
U zatížené DB zápisy je obrovský rozdíl v flushnutí na HW raid s baterkou či SSD a na běžný rotační HDD. Nicméně je otázka, jakou zátěž vygenerují 4 stanice - velice pravděpodobně postačí obyčejné HDD v md raidu kvůli jednoduchým výměnám disků. Na druhou stranu kvalitní SSD dnes stojí pár tisíc a výkon nesrovnatelný...
-
Hp mini server so silnejsim CPU je viac ako dobra volba. Serverove zelezo so 4x diskami - 3x raid5 + 1x hotspare.
-
tak se snazim ukecat ten profi server mam zkusit spise dell nebo hp ?
diky TH
-
k mysql se pripojuji ty 4 pracovni stanice?
tak co na kazde stanici mit zaroven spusten virtual s instanci mysql a replikovat to mezi nimi.
nepotrebujes dalsi stroj :-)
-
https://mysqlhighavailability.com/easy-load-balancing-and-high-availability-using-mysql-router/
-
Tak galera cluster mohou použít (pokud splňují jeho omezující podmínky), s uzlem na každém stroji. Přijde mi to ale trochu overkill...
-
HP ML10 nebo ML30, nějaký základ s 4c Xenonem, 8GB RAM, ideálně bez disků. K tomu 3 roky NBD záruka a 2x SSD Intel S35xx 120GB. Dohromady bratrů za 20k bez DPH, což je cena lepšího desktopu.
-
?
-
vim ze me proklejete, ale co rikate na tuto sestavu ?
https://www.alza.cz/asus-prime-z270-a-d4652672.htm
https://www.alza.cz/intel-core-i7-7700-d4630178.htm
2x https://www.alza.cz/kingston-16gb-ddr4-2400mhz-ecc-ktd-pe424e-16g-d4983045.htm
2x https://www.alza.cz/intel-535-360gb-ssd-bulk-d3040624.htm
jde mi hlavne o spravnou frekvenci RAM aby to bezelo optimalne
a ten SSD x35 nevim presne co znamena
dekuji
-
jde mi hlavne o spravnou frekvenci RAM aby to bezelo optimalne
a ten SSD x35 nevim presne co znamena
Frekvenci RAM na výkonu prakticky nepostřehnete. To, že nebudete mít Xeon, ale i7 postřehnete citelně.
Desktopové komponenty se na server vůbec nehodí, důvodů je víc.
SSD ze spotřební třídy Vám brzy odejde, není prakticky jiná možnost, než jít do Samsung nebo Intel, ale do serverových variant. V Alze v nabídce nebudou. Jedná se o Samsung 863 PM a Sm a Intel S4500/4600.
Nevidím disk na systém a nevidím HW raid.
Obávám se, že pokud jsou Vaše představy takové, jaké píšete, nelze hovořit o žádném dobrém, natož optimálním běhu.
-
vim ze me proklejete, ale co rikate na tuto sestavu ?
Nic. Prosimtě nebastli a kup si nějakej levnej Dell, třeba. Tohle bastlení nedává finančně vůbec smysl a cpát tam consumer/desktop komponenty už tuplem ne.
-
Když jsem si přečetl požadavky, tak něco podobného by mohlo vyhovovat i do budoucna:
https://www.czc.cz/dell-poweredge-t30-e3-1225v5-8gb-2x1tb_2/225109/produkt (https://www.czc.cz/dell-poweredge-t30-e3-1225v5-8gb-2x1tb_2/225109/produkt)
-
vim ze me proklejete, ale co rikate na tuto sestavu ?
...
Fakt nevim co resis ... jakej mas rozpocet? uz jen z toho co si napsal 50k neni problem ... za 50k koupis hotovej stroj od hp/dell/... vcetne 3/5 let NBD. A muzes si vybrat jesli v provedeni tower nebo rackmount. Kdyz ti na tom neco chcipne, tak prevazne ten druhej den dorazi manik a vymeni ti to.
https://www.alza.cz/search.htm?exps=server
(jen podotykam, ze servery se NEKUPUJOU na eshopech, proste proto, ze ty potrebujes aby ti ho dodali s TVOJI konfiguraci a ne ve vychozim stavu)
Navic na server patrej v kazdym pripade ECC ramky. I ten microserver od HP je ma. Dal se skoro kazdym dostanes neco na tema drac/ilo ... aneb ses schopnej i bios konfigurovat po siti.
Jo, kazdopadne je treba koupit finalni konfiguraci, rozsirovani (takovy aby to bylo dal pod supportem) je vyrazne drazsi.
-
Tak šéf teda vybral toho správnýho a sám je asi taky chytrej přes všechno. Vem to co ti radí. Už jen proto, že ta i7 o které sníš má "ECC Memory Supported ‡ No " a ten chipset Z270 taky není C236 co má třeba HP ML10.
-
vim ze me proklejete, ale co rikate na tuto sestavu ?
jak uz psali jini, server board s ECC neni o moc drazsi.
Take SSD od Samsungu je spravna volba, i kdyz drazsi.
Co se CPU tyce, tak pak na DB aplikace staci i3 - ten taky podporuje ECC (i5,i7 proto zapomenout). Xeon neni potreba.
K hardware raidu se jiz vyjadril pred 20 lety doyen ceskych linuxaru, pak Kasprzak kdyz na otazku ktery hw-raid se doporucuje, odpovedel: ' ty hledas software raid'
-
Když jsem si přečetl požadavky, tak něco podobného by mohlo vyhovovat i do budoucna:
https://www.czc.cz/dell-poweredge-t30-e3-1225v5-8gb-2x1tb_2/225109/produkt (https://www.czc.cz/dell-poweredge-t30-e3-1225v5-8gb-2x1tb_2/225109/produkt)
Nedávno jsem "na hraní" kupoval tenhle (https://www.mironet.cz/dell-poweredge-t130-xeon-e31270-v5-36ghz-16gb-2x-2tb-nlsas-dvdrw-h330-2x-glan-3ynbd+dp298058/). Jako bonus to dorazilo s E3-1270 v6, (ten v5 co je v popisku už Dell asi vůbec nedodá). K tomu se akorát dokoupilo 2x16GB paměti (https://www.mironet.cz/kingston-16gb-ddr4-2400mhz-reg-ecc-dimm-cl17-12v-pro-dell+dp331728/) a iDRAC8 Enterprise licence z eBay (https://www.ebay.com/itm/DELL-iDRAC8-Enterprise-License-R330-R430-R530-R630-R730-R730XD-R830-R930-T330/182852288492?hash=item2a92d87fec:g:V80AAOSwytJZ7siK) za cca $35. (Pokud by chtěl něco podobného do racku, tak třeba R230, ale pokud to bude ležet někde v kanceláři na polici tak to asi není až tak dobrý nápad kvůli hluku.)
Na "mysql db pro cca 4 klientské win stanice, db má cca 500 MB" bych nějaké SSD absolutně neřešil, absurdní. Kdybych se chtěl rozšoupnout, tak k tomu koupím další 2x2TB SAS disky a udělám tam RAID-10.
-
Ad SSD - mám výborné zkušenosti s již zmiňovanými Intel S35xx, cenově rozumné a drží. Nejstarší 300GB s poměrně zatíženou 100GB DB má naběháno 4 roky, zapsáno 32TB, přečteno 230TB a media wearout 88% (100% = nový).
-
ok, rad si necham poradit, ale mam tu tlak z druhe strany, finance ... chapete
tzn potrebuji argumenty pro server, tzn, kdyz to postavim na dekstopovych komponentech
v ceme je problem, nejsou delany na beh 24x7 ?
v tech serverech je casto HW raid a tomu jsem se chtel vyhnout, znamy problem, kdyz se karta podela, data jsou v haji
chtel jsem jit cestou SW raidu
sousacny server bezel cca 5 let nejaky asus z alzy intel i3, 2x WD raid edition SATA disky RAID 1
a bez problemu, akorat proste uz chceme upgrade vyykonu
a jinak k serverum, poridit neco jako toto je rozumne ?
http://servershop.sk/dell-poweredge-2900-iii/p207560c1029
dekuji za vasi trpelivost
-
proč to nepostavit na virtualu?
teoreticky pro SQL je to horší, ale pro 4 stanice/500MB?
eliminuje to dost hw problémů s řadiči
ale bez sSD bych do toho nešel...
-
nasel jsem jeste toto za 800 EUR
HP ProLiant ML350 G6 SFF (8x2.5"), Procesory CPU - 2x XEON E5620 (16x 2.40GHz), Pamäť RAM - 32GB DDR3 (8x4GB), Kapacita úložiska HDD alebo SSD - 600GB (4x146GB SAS 10k), Predinštalovaný OS - bez OS, Záruka a podpora - Štandardná záruka 1 rok, Dodatočné komponenty - +SinglePort gigabit Ethernet
dal bych tam raid 5 + spare disk
to by nam mohlo stacit, je to rozumna volba ?
-
No, ta cena mi přijde ujetá, je to hodně starý. Bude to žrát a dělat randál, musíš to někam zavřít.
IMO ti výkonově bohatě stačí nějaký ten HP mini server s 3,5" hotswap disky.
-
Dobré odpoledne,
Umřel nám starý Linux server ve firmě, dostal jsem nevděčný úkol postavit nový, šéf nechce kupovat Dell HP apod
...
Chtěl jsem jít cestou Intel cpu Intel MB Intel ssd do RAID mirror, ale koukám, že Intel MB se už nedělá ...
Zacal bych tim proc ne hp a dell a az se ukaze ze to rozhodnuti nedava smysl tak byxh koupil hp nebo dell s podporou u zakaznika.
-
Zdravím!
Pročetl jsem si vlákno a koukám, že OP vlastně hledá záložní server, protože se databáze replikovala mezi dvěma stroji. Proč nezkusit zálohování replikací databáze do cloudu? A nebo tu databázi přimo v cloudu provozovat.
V obou případech se virtuální server propojí s firmou pomocí VPNky a může obsluhovat veškerý provoz.
Viděl jsem tu zmiňované ceny jako 50 kKč, přitom VPS server stojí pár stovek za měsíc, viz. například https://www.homeatcloud.cz/vps
A abyste neříkali, že jen dělám reklamu: vedl jsem bakalářku, kde se popisuje metodika, jak změřit a spočítat, jaký výkonový a cenový dopad má replikace mezi dvěma cloudovými regiony versus provozování databáze ve vzdáleném regionu.
https://dspace.cvut.cz/handle/10467/23773
Vondra
-
zkusim to vzit z druhe strany, vysvetlim jak to u nas funguje
firma je restaurace
pokladni system vlastni bastl v Delphi, data ulozena na linux serveru s MySQL
servery mame 2, primar se replikuje na sekundar, kdyz se primar slozi. tak se v pokladne rucne prepne na sekundar a v radu minut se jede dal, toto mi zadna zaruka NBD neporesi
kdyz se mi podela HW zajedu do alzy koupim novou desku, cpu ram, znova nainstaluju linux, zreplikuji MySQL a jedu dal
toto muzu udelat kdykoliv, do atx bedny dam jakoukoliv desku, SW raid znova nahodim
kdyz si spozitam ceny tech NBD tak za tech skoro 10 let za to mam pomalu dalsi stroj
kdyz nebudu mit zaruku za novy MD do specialni desky serveru se nedoplatim
je mi jasny, ze vetsina z vas ma pravdu, NBD hotswap, vzdaleny bios, super, ale realen potrebuji to v mem pripade
nechci zakladat flame, pouze se snazim najit cestu nejmensiho odporu a samozrejme ceny
ta VPS je zajimave reseni, ale chce to stabilni a rychly net a ten bohuzel nenam, na praze1 je to spatny :(
Diky moc
-
To by zvládl i Synology DS115j.
-
To by zvládl i Synology DS115j.
no i3 se 8 GB ram to nezvlada uz
-
no i3 se 8 GB ram to nezvlada uz
Opravdu to nezvládá CPU, nebo je jen pomalý disk? Jsou dobře nastavené klíče v DB? 500MB není žádná velká databáze.
-
zkusim to vzit z druhe strany, vysvetlim jak to u nas funguje
firma je restaurace
pokladni system vlastni bastl v Delphi, data ulozena na linux serveru s MySQL
servery mame 2, primar se replikuje na sekundar, kdyz se primar slozi. tak se v pokladne rucne prepne na sekundar a v radu minut se jede dal, toto mi zadna zaruka NBD neporesi
kdyz se mi podela HW zajedu do alzy koupim novou desku, cpu ram, znova nainstaluju linux, zreplikuji MySQL a jedu dal
toto muzu udelat kdykoliv, do atx bedny dam jakoukoliv desku, SW raid znova nahodim
kdyz si spozitam ceny tech NBD tak za tech skoro 10 let za to mam pomalu dalsi stroj
kdyz nebudu mit zaruku za novy MD do specialni desky serveru se nedoplatim
je mi jasny, ze vetsina z vas ma pravdu, NBD hotswap, vzdaleny bios, super, ale realen potrebuji to v mem pripade
nechci zakladat flame, pouze se snazim najit cestu nejmensiho odporu a samozrejme ceny
ta VPS je zajimave reseni, ale chce to stabilni a rychly net a ten bohuzel nenam, na praze1 je to spatny :(
Diky moc
A co v tom případě řešíš? hodit tam můžeš cokoliv, pokud se chceš rozšoupnout, tak novej Dell PowerEdge T30, nebo repas dell T320 za 20k například..
-
zkusim to vzit z druhe strany, vysvetlim jak to u nas funguje
firma je restaurace
pokladni system vlastni bastl v Delphi, data ulozena na linux serveru s MySQL
servery mame 2, primar se replikuje na sekundar, kdyz se primar slozi. tak se v pokladne rucne prepne na sekundar a v radu minut se jede dal, toto mi zadna zaruka NBD neporesi
Tady je podle mě viditelná snaha skloubit nerealistické požadavky klienta na dostupnost vs. cenu vs. technické řešení. Samozřejmě, můžete to flikovat tak, jak píšete. Jen namísto posunu vpřed se z Vás stane oprašovač mrtvých technologií jen protože to klient nechce zaplatit. Je logické, že nikdo Vám nedoporučí žádné "nezaručeně zaručené" řešení.
Z obchodního hlediska mě napadají jen tři udržitelné modely spolupráce: buďto dodávat jen software a hardware nechat na klientovi, nebo dodávat i hardware ale přenášet výhody i náklady hardwaru na klienta, nebo s klientem mít uzavřenou servisní smlouvu. Servisní smlouva samozřejmě nemůže jít za hranici toho, co garantuje dodavatel hardware.
Jako varující mi přijde, že úsporu na hardware považujete za větší přínos, než pracnost, kterou to přinese. Nedovedu si vybavit situaci, kde by byl hardware dražší, než jakákoliv práce člověka.
Možná proto Vás zde ostatní nechápou a nerozumí Vašemu požadavku, protože si myslím, že nezapadají do zkušeností lidí z oboru.
-
To by zvládl i Synology DS115j.
no i3 se 8 GB ram to nezvlada uz
V restauraci? Vždyť se ta databáze musí šíleně nudit.
-
To by zvládl i Synology DS115j.
no i3 se 8 GB ram to nezvlada uz
no kdyz si srovnam na cpuboss.com tyhle 2 CPU
Xeon E5-2670 vs Core i3 6100 nebo
Xeon E5620 vs Core i3 6300
tak je na tom i3 lepe. Pricemz ten E5 je vpodstate pro tu firmu nezaplatitelny. Tady neco nehraje.
-
no i3 se 8 GB ram to nezvlada uz
To by me zajimalo co ti na tom nezvlada, kdyz se cela ta databaze vejde do RAM. Tudiz vykon disku je irelevantni, a 5 useru zcela jiste neni schopno vygenerovat takovej traffic, aby to vpohode nezvladlo i neco radove pomalejsiho.
Protoze o tom vime prdlajs, tak se samo tezko resi proc, ale v kazdym pripade by ti na neco takovyho mel uplne s prstem v nose stacit nejlevnejsi HW kterej koupis.
-
mozna resim problem ze spatne strany
kdyz se podivam na server pres htop tak mi tam bezi 2 procesy /usr/sbin/mysqld a dohromady berou 90 - 100 % CPU
zkousel jsem dat logovat pomaly sql dotazy ale v logu nic neni, mam limit 6 sec, ma zkusit limit snizit
jak se da podprobnei zjistit, co ta db dela a na cem se flaka ?
je tam mariaDB 10.2.13 server je ubuntu xenial
-
mozna resim problem ze spatne strany
kdyz se podivam na server pres htop tak mi tam bezi 2 procesy /usr/sbin/mysqld a dohromady berou 90 - 100 % CPU
zkousel jsem dat logovat pomaly sql dotazy ale v logu nic neni, mam limit 6 sec, ma zkusit limit snizit
jak se da podprobnei zjistit, co ta db dela a na cem se flaka ?
je tam mariaDB 10.2.13 server je ubuntu xenial
Pro interaktivni aplikace se pouziva slowquery limit cca 50..200ms. Spatne napsana aplikace muze utlouc server komunikaci po siti - extremne velkym mnozstvim relativne rychlych dotazu. Nedovedu si ale predstavit tak spatne napsanou aplikaci, aby to utlouklo 5 uzivatelu. Ale proc ne.
-
IMO chybí indexy a mysql cykluje na sekvenčním procházení.
Mysql příkaz 'show full processlist' ti vypíše, co zrovna jednotlivé konexe klientů dělají, včetně query. Určitě tam najdeš nějaké dlouho běžící. Pak je spustíš v klientovi s explain, přidáš chybějící indexy a za pár iterací se bude db server flákat.
-
Prosimtě, jestli ti i3 s 8GB RAM nezvládá to, že pingl jednou za deset minut namarkuje dvě piva a guláš, tak fakt neřeš hardware, ale tu doprasenou aplikaci.
:o ::)
-
IMO chybí indexy a mysql cykluje na sekvenčním procházení.
Mysql příkaz 'show full processlist' ti vypíše, co zrovna jednotlivé konexe klientů dělají, včetně query. Určitě tam najdeš nějaké dlouho běžící. Pak je spustíš v klientovi s explain, přidáš chybějící indexy a za pár iterací se bude db server flákat.
procesy jsem zkousel, neni tam nic zavadneho
zkusim snizit ten limit na sledovani long query
Id User Host db Command Time State Info Progress
1 system user NULL Daemon NULL InnoDB purge coordinator NULL 0.000
3 system user NULL Daemon NULL InnoDB purge worker NULL 0.000
2 system user NULL Daemon NULL InnoDB purge worker NULL 0.000
4 system user NULL Daemon NULL InnoDB purge worker NULL 0.000
5 system user NULL Daemon NULL InnoDB shutdown handler NULL 0.000
117 kasa 10.0.0.72:49716 pokladna Query 0 Waiting for table level lock UPDATE ucty SET lock_id = 0 WHERE lock_id = 10 0.000
120 kasa 10.0.0.11:63593 pokladna Query 0 updating UPDATE ucty SET lock_id = 0 WHERE lock_id = 11 0.000
508 root localhost NULL Query 0 init show full processlist 0.000
509 root localhost NULL Sleep 0 NULL 0.000
-
Prosimtě, jestli ti i3 s 8GB RAM nezvládá to, že pingl jednou za deset minut namarkuje dvě piva a guláš, tak fakt neřeš hardware, ale tu doprasenou aplikaci.
:o ::)
on je tam pres obedy nastesti vetsi cvrkot, ale uznavam, ze moje delphi aplikace se znalostmi pascalu z let 90 minuleho stoleti nebude prilis optimalni
akorat se nedokazu dobrat toho, jak zjistit kde se to flaka :(
-
... Waiting for table level lock ... lol
Mno jestli ti to pri kazdym updatu zamkne vsechny tabulky v cely databazi ...
Rek bych, se jednak ti chybej indexy, a druhak mas spatne navrzenou strukturu a system fungovani ty databaze. A je to krasna ukazka toho, jak ani nadupanej HW nevyresi to, co nekdo blbe napise.
Ta i3ka tohle musi davat se zatizenim 0.
-
... Waiting for table level lock ... lol
Mno jestli ti to pri kazdym updatu zamkne vsechny tabulky v cely databazi ...
Rek bych, se jednak ti chybej indexy, a druhak mas spatne navrzenou strukturu a system fungovani ty databaze. A je to krasna ukazka toho, jak ani nadupanej HW nevyresi to, co nekdo blbe napise.
Ta i3ka tohle musi davat se zatizenim 0.
super, diky za nasmerovani
tak prvni krok, jsem udelal, ze zmenim db engine z MyISAM na InnoDB, je to spravne ?
indexy pouzivam snad spravne, kazda tabulka ma primarni index na poli id a pokud tabulky spojuji
napriklad, ucty JOIN ucty_polozky ON ucty.id = ucty_polozky.ucty_id tak na tom ucty_id mam index
zkusim sem radeji dat moji konfiguraci mariaDB ke kontrole asi :)
-
Nečeká databáze na disky? Jestli občas chybí nějaký index, tak si možná vytváří pomocné soubory, které ukládá na disk... Pak by třeba stačilo tohle přesměrovat do tmpfs.
-
Když jsem si přečetl požadavky, tak něco podobného by mohlo vyhovovat i do budoucna:
https://www.czc.cz/dell-poweredge-t30-e3-1225v5-8gb-2x1tb_2/225109/produkt (https://www.czc.cz/dell-poweredge-t30-e3-1225v5-8gb-2x1tb_2/225109/produkt)
Nedávno jsem "na hraní" kupoval tenhle (https://www.mironet.cz/dell-poweredge-t130-xeon-e31270-v5-36ghz-16gb-2x-2tb-nlsas-dvdrw-h330-2x-glan-3ynbd+dp298058/). Jako bonus to dorazilo s E3-1270 v6, (ten v5 co je v popisku už Dell asi vůbec nedodá). K tomu se akorát dokoupilo 2x16GB paměti (https://www.mironet.cz/kingston-16gb-ddr4-2400mhz-reg-ecc-dimm-cl17-12v-pro-dell+dp331728/) a iDRAC8 Enterprise licence z eBay (https://www.ebay.com/itm/DELL-iDRAC8-Enterprise-License-R330-R430-R530-R630-R730-R730XD-R830-R930-T330/182852288492?hash=item2a92d87fec:g:V80AAOSwytJZ7siK) za cca $35. (Pokud by chtěl něco podobného do racku, tak třeba R230, ale pokud to bude ležet někde v kanceláři na polici tak to asi není až tak dobrý nápad kvůli hluku.)
Na "mysql db pro cca 4 klientské win stanice, db má cca 500 MB" bych nějaké SSD absolutně neřešil, absurdní. Kdybych se chtěl rozšoupnout, tak k tomu koupím další 2x2TB SAS disky a udělám tam RAID-10.
Me se zase zda absurdni kupovat na 500MB databazi 2TB sas disky ... .
-
Nečeká databáze na disky? Jestli občas chybí nějaký index, tak si možná vytváří pomocné soubory, které ukládá na disk... Pak by třeba stačilo tohle přesměrovat do tmpfs.
dle iotop to vypada ze mysqld hrabne na disk jenom sem tam obcas
-
Podle názvu proměnné lock_id soudím, že aplikace nečeká na server, ale na druhého číšníka, který má tu databázi zamknutou pro sebe. Jak už bylo uvedeno výše, ta aplikace je blbě napsána. Databáze se nezamyká, pokud to není nezbytně nutné. Ten Synology by to hravě zvládl a nudil by se u toho.
Aby bylo jasno: Tohle by zvládlo i Arduino, ale za této situace ti nepomůže ani nadupaný Xeon. Oprav aplikaci.
-
dle iotop to vypada ze mysqld hrabne na disk jenom sem tam obcas
Taky co bys tam chtel zapisovat ... i kdybys tech lidi mel 100, tak ti vygenerujou mozna s velkou davkou fantazie 1 update za sekundu.
Tzn v kazdym pripade vis, ze ti stacej dva libovolny SATA disky do zrcadla aby to nechciplo s mrtvym diskem. SSD nanic nepotrebujes.
-
Podle názvu proměnné lock_id soudím, že aplikace nečeká na server, ale na druhého číšníka, který má tu databázi zamknutou pro sebe. Jak už bylo uvedeno výše, ta aplikace je blbě napsána. Databáze se nezamyká, pokud to není nezbytně nutné. Ten Synology by to hravě zvládl a nudil by se u toho.
Aby bylo jasno: Tohle by zvládlo i Arduino, ale za této situace ti nepomůže ani nadupaný Xeon. Oprav aplikaci.
nezamykam databazi pouze dany zaznam v tabulce ucty, doud neni editace hotova, dam do lock_id id stanice, na kterem se s ni pracuje
nedokazu si predstavit, jak to lze udelat jinak :(
-
dle iotop to vypada ze mysqld hrabne na disk jenom sem tam obcas
Taky co bys tam chtel zapisovat ... i kdybys tech lidi mel 100, tak ti vygenerujou mozna s velkou davkou fantazie 1 update za sekundu.
Tzn v kazdym pripade vis, ze ti stacej dva libovolny SATA disky do zrcadla aby to nechciplo s mrtvym diskem. SSD nanic nepotrebujes.
nechtel bych zapisovat nic, pouze jsem odpovidal na dotaz kolegy
-
moje konfigurace mariaDB
# MariaDB database server configuration file.
#
# You can copy this file 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
lc_messages_dir = /usr/share/mysql
lc_messages = en_US
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
#
max_connections = 100
connect_timeout = 5
wait_timeout = 600
max_allowed_packet = 16M
thread_cache_size = 128
sort_buffer_size = 4M
bulk_insert_buffer_size = 16M
tmp_table_size = 32M
max_heap_table_size = 32M
#
# * MyISAM
#
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched. On error, make copy and try a repair.
myisam_recover_options = BACKUP
key_buffer_size = 128M
#open-files-limit = 2000
table_open_cache = 400
myisam_sort_buffer_size = 512M
concurrent_insert = 2
read_buffer_size = 2M
read_rnd_buffer_size = 1M
#
# * Query Cache Configuration
#
# Cache only tiny result sets, so we can fit more in the query cache.
query_cache_limit = 128K
query_cache_size = 64M
# for more write intensive setups, set to DEMAND or OFF
#query_cache_type = DEMAND
#
# * wLogging 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.
#
# we do want to know about network errors and such
log_warnings = 2
#
# Enable the slow query log to see queries with especially long duration
#slow_query_log[={0|1}]
slow_query_log = 1
slow_query_log_file = /var/log/mysql/mariadb-slow.log
long_query_time =
#log_slow_rate_limit = 1000
log_slow_verbosity = query_plan
#log-queries-not-using-indexes
#log_slow_admin_statements
#
# 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
#report_host = master1
#auto_increment_increment = 2
#auto_increment_offset = 1
#log_bin = /var/log/mysql/mariadb-bin
#log_bin_index = /var/log/mysql/mariadb-bin.index
# not fab for performance, but safer
#sync_binlog = 1
expire_logs_days = 10
max_binlog_size = 100M
# slaves
#relay_log = /var/log/mysql/relay-bin
#relay_log_index = /var/log/mysql/relay-bin.index
#relay_log_info_file = /var/log/mysql/relay-bin.info
#log_slave_updates
#read_only
#
# If applications support it, this stricter sql_mode prevents some
# mistakes like inserting invalid dates etc.
#sql_mode = NO_ENGINE_SUBSTITUTION,TRADITIONAL
sql_mode =""
#
# * 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!
default_storage_engine = InnoDB
# you can't just change log file size, requires special procedure
#innodb_log_file_size = 50M
innodb_buffer_pool_size = 256M
innodb_log_buffer_size = 8M
innodb_file_per_table = 1
innodb_open_files = 400
innodb_io_capacity = 400
innodb_flush_method = O_DIRECT
#
# * 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
#
# * Galera-related settings
#
[galera]
# Mandatory settings
#wsrep_on=ON
#wsrep_provider=
#wsrep_cluster_address=
#binlog_format=row
#default_storage_engine=InnoDB
#innodb_autoinc_lock_mode=2
#
# Allow server to accept connections on all interfaces.
#
#bind-address=0.0.0.0
#
# Optional setting
#wsrep_slave_threads=1
#innodb_flush_log_at_trx_commit=0
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
#no-auto-rehash # faster start of mysql but no tab completion
[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/
-
nezamykam databazi pouze dany zaznam v tabulce ucty, doud neni editace hotova, dam do lock_id id stanice, na kterem se s ni pracuje
MyISAM neumí row locky, zamyká celou tabulku.
nedokazu si predstavit, jak to lze udelat jinak :(
Nejdříve bych přešel na innodb. Poté použil transakce. Zámky by možná vůbec nebyly potřeba. Navíc získáš kvalitní podporu spuštění/obnovy replikace pomocí XtraBackup.
-
A ještě před přechodem na innodb nastavit file-per-table, ať je to rozdělené do více souborů.
-
nezamykam databazi pouze dany zaznam v tabulce ucty, doud neni editace hotova, dam do lock_id id stanice, na kterem se s ni pracuje
MyISAM neumí row locky, zamyká celou tabulku.
tim lockem myslim to, ze kdzy jeden pingl otevre ucet tak do policka ucty.lock_id dam id stanice a kdyz ucet ulozi, tak dam SET lock_id = 0
pokud se ucet pokusi otevrit nekdo jiny, a lock_id <> 0 tak se zobrazi hlaska, ucet otevren na stanici baBlaBLA
tohle preci nezamkne celou tabulku, uz jenom proto ze bezne je na kazde stanici otevreny jiny ucet, mezitim se dalsi tiskne atd ...
k transakcim se priznam, jsem se jeste nedopracoval
chapu je tak, ze zavolam, begin transaction, neco se stane (blok prikazu) a potom bud commit nebo rollback
a chapu to jako ochranu celistvosti dane operace, bud se provede vse nebo nic z celeho bloku prikazu
nedovedu si predstavit jak resit kdyz na 2 stancichn otevrou stejny ucet a na kazde prida 2x gulas
v kuchyni nandaji 4x gulas a jsme v riti :(
ono totiz kdyz sectete ignoraci normoHosta blbost standartPingla a tupost OslaKuchare dstanete nebezpecne vybusny koktejl :-|
jinak presun na InnoDB chci zkustit na testovsaci DB doma mi to prislo rychlejsi
-
A ještě před přechodem na innodb nastavit file-per-table, ať je to rozdělené do více souborů.
takto to zatim v /var/lib/mysql/popkladna mam
a doma se mi po prechodu z myISam na InnBD zmenila koncovky souboru z MYI na ibd tak snad se mi to uz neslouci ?
-
A ještě před přechodem na innodb nastavit file-per-table, ať je to rozdělené do více souborů.
Nevidím k tomu žádný důvod, spíše naopak.
-
https://dev.mysql.com/doc/refman/5.6/en/innodb-multiple-tablespaces.html
V novějších mysql/mariadb je to default.
Daleko raději pracuji s adresářovou strukturou, než s obřími soubory, které se při odstranění tabulky nezmenší. Někdy je vhodné db kopírovat rsyncem (např. na devel stroj) a tam je file per table hodně znát. Navíc na filesystému rovnou vidím, kolik v tabulce zabírají data, kolik indexy, nemusím to zjišťovat přes mysql klienta.
Někdo ale třeba potřebuje rychlé create/delete table, tak použije monolit ibdata.
-
....
tohle preci nezamkne celou tabulku, uz jenom proto ze bezne je na kazde stanici otevreny jiny ucet, mezitim se dalsi tiskne atd ...
...
Boze boze ....
117 kasa 10.0.0.72:49716 pokladna Query 0 Waiting for table level lock UPDATE ucty SET lock_id = 0 WHERE lock_id = 10 0.000
A co myslis, ze ti to prave tady rika ... ten update ceka, az se provede ten pod nim, a to naprosto zbytecne. A je to tak prave proto, ze mas uzamcenou celou tabulku, coz je v pripade jakykoli databaze stav, za ktery si tvurce aplikace zaslouzi viset ze kule.
Navic .. dalsi kravovina na tom je ta, ze mas ve where lock_id, ktery zaroven updatujes => i pokud na tom poli budes mit index, tak ho obratem rozbijes.
BTW: Transakce ani zdaleka nejsou jenom o tom, ze se udela vsechno nebo nic. Prave v prubehu transakce se napriklad overuje, zda se meneny zaznam zmenil. Pak na to lze reagovat, klidne i tak, ze se userovi rekne, ze tam bylo 0 gulasu, ale ted tam sou 2 a jestli prida ty svy 2 tak ze budou 4 OK/Storno.
-
Sleduji tohle téma od jeho začátku a pořád jsem přemýšlel, jestli se mám zúčastnit nebo ne, protože tazatel je tady už tak trochu známý tím, že o co méně věcem rozumí, o to více se do nich nadšeně pouští (nemyšleno nijak zle či útočně, prostě jen suché konstatování) a také proto, že mu postupně stejně někdo řekl něco podobného. Nicméně nakonec jak vidno jsem se rozhodl také přispět, snad to k něčemu bude...
1. Na potřebnou úlohu vystačí v podstatě jakýkoli běžný PC nejen dnešní, ale klidně pár let starý a bude se to po většinu času nudit a přitom to nemusí to být Xeon, Threadripper či EPYC v big toweru se SAS diskama, velkým množstvím RAM a kdo ví čím ještě - ovšem za předpokladu...
2. ...že bude správně (jak tady kolegové už porůznu psali):
a) namodelovaná databáze (indexy, relace mezi tabulkama, transakce ap., a to raději ve výčtu nezmiňuji pokročilejší věci jako jsou pohledy, triggery, procedury, eventy...)
b) zvolený DB engine (ne takový, co neumí uzamknout konkrétní řádek v tabulce, ale jen celou tabulku a navíc relace "emuluje", protože neumí cizí klíče ap.)
c) udělaná aplikace (umět pracovat se zámky - což není to co děláš ty, že si vytváříš vlastní semafory o rozpracovaných datech - relacemi, indexy ap.)
...
nezamykam databazi pouze dany zaznam v tabulce ucty, doud neni editace hotova, dam do lock_id id stanice, na kterem se s ni pracuje
Ale ano, zamykáš, viz:
117 kasa 10.0.0.72:49716 pokladna Query 0 Waiting for table level lock UPDATE ucty SET lock_id = 0 WHERE lock_id = 10 0.000
bylo by fajn, kdyby sis to co ti vyplivlo sledování procesů v mysql aspoň pořádně přečetl, viz "...table level lock...", ale mám z tebe pocit, že máš nějakou selektivní slepotu, protože i když ti to napsali jasně posléze i jiní, tak ty pak přesto napíšeš něco takového:
nezamykam databazi pouze dany zaznam v tabulce ucty, doud neni editace hotova, dam do lock_id id stanice, na kterem se s ni pracuje
MyISAM neumí row locky, zamyká celou tabulku.
tim lockem myslim to, ze kdzy jeden pingl otevre ucet tak do policka ucty.lock_id dam id stanice a kdyz ucet ulozi, tak dam SET lock_id = 0
...možná by sis měl před tím, než něco napíšeš nastudovat něco k tomu, co ti ostatní radí, v tomto případě co je to zamykání v DB (a to tvé vyplňování políček s ID stanice to fakt není) a k tomu taky jak to funguje v Delphi, protože zjevně vůbec netušíš, že ti to v té aplikaci automaticky zamykají ty použité objektové komponenty pro práci s DB, které jsi v Delphi myší přetáhl do návrhu aplikace, aniž bys chápal, jak taková komponenta funguje a pracuje a jak ji pořádně ovládat a používat. Holt daň za "klikací" RAD (https://cs.wikipedia.org/wiki/Rapid_Application_Development).
A když vidím tohle:
nedokazu si predstavit, jak to lze udelat jinak :(
nebo
nedovedu si predstavit jak resit kdyz na 2 stancichn otevrou stejny ucet a na kazde prida 2x gulas
tak to dává tušit, jak asi ta aplikace a celé řešení vypadá...
ono totiz kdyz sectete ignoraci normoHosta blbost standartPingla a tupost OslaKuchare dstanete nebezpecne vybusny koktejl :-|
obzvlášť, když je tahle "rovnice" umocňována předváděnou neschopností řešitele, že?
Myslíš, že se nedá udělat relativně blbovzdorná aplikace, která vliv normoHosta, standardPingla a OslaKuchare sníží limitně k nule a nebude na to zároveň potřeba velmi nadstandardně vybavený HW?
-
Sleduji tohle téma od jeho začátku a pořád jsem přemýšlel, jestli se mám zúčastnit nebo ne, protože tazatel je tady už tak trochu známý tím, že o co méně věcem rozumí, o to více se do nich nadšeně pouští (nemyšleno nijak zle či útočně, prostě jen suché konstatování) a také proto, že mu postupně stejně někdo řekl něco podobného. Nicméně nakonec jak vidno jsem se rozhodl také přispět, snad to k něčemu bude...
to je krasne napsano, a nemuzu nesouhlasit ...
jak jsem jiz psal vyse, programovat jsme se naucil tak nejak sam v Borland Pascalu v me prvni praci hned po Gymplu
delali jsme nejakou databazi pacientu v nemocnici pomci nejakych DBF knihoven a bohuzel jsem v teto fazi zamrzl dodnes a to mam obavu, ze ani ty dbf knihovny jsem neumel vyuzit naplno ...
samozrejme ta moje aplikace dle toho vypada
cely muj zivot je provazeny nedodelanymi bastly (muj dum, moje firma, moje auta apod ...) , ze kterych je ovsem mocne citit ti nadseni, ze ktarym jsou budovane ...
presne jak napsal kolega
nicmene co s tim ?
predevsim chci vsem zde podekovat, ze jste me jeste na foru nezablokovali a trpelive zopdovidate me casto prihlouple dotazy
mam toto forum moc rad, prijde mi, ze je to takova oaza v dnesni zumpe interentu, ze se tu k sobe lide chovali celem slusne, je tu opravdu velke mnozstvi hodne chytrych lidi, a clovek se vzdy dobere prinosnych rad, dokonce to funguje i tak, ze se zde daji probrat temata s linuxem ne prilis souvisejici, a vzdy se najde nekdo ochotny poradit
proto jsem se dnes rozhodl stat pravidelnym prispevovatelem, jelikoz muz prinos zde bude vzdy pravdepodobne zaporna nula, snad alespon takto mohu komunite splatit svuj dluh ...
-
a toto napisi radeji do noveho prispevku, protoze by to v tom predeslem slintu mohlo zapadnout
chtel jsem o to zde pozadat jiz davno, ale porad jsem to odkladal a nemel odvahu ...
nasel by se nekdo, kdo by byl ochoten (samozrejme za stedrou uplatu) se se mnou setkat, podivat se na moji aplikaci v delphi
na nas db server a pokusit se poradit v klicovych oblastech, co zlepsit, co predelat aby se apliakce stala alespon trochu sviznejsi ?
ja vim, ze bych si to mel vse nastudovat sam, taky se na to prave chci vrhnout. ale uz jenom gogleni "Waiting for table level lock
" me tak nejak zahltilo a nevim, kudy kam ...
vetsinou mi pohama, kdyz mi nekdo problem vysvetli a muzu se ptat, nez kdzy si o tom sam ctu
je mi jasny, ze vetsina z vas si klepe na celo a rika, vrat se do skoly, ale stareho psa uz novym kouskum nenaucis :(
a kor v mem veku
proto pokud se najde dostatecny masochista, nudu nesmirne rad, je mi jasny, ze to nebude levny, takze nehlaste se vsichni
restaurace je v samem centru Prahy, pokud bude potreba jsem shcopen dovezt privezt odvezt, odmena nebude pouze financni, ale samozrejme i v naturaliich po celou dobu seance :)
dekuji MOC !
-
a toto napisi radeji do noveho prispevku, protoze by to v tom predeslem slintu mohlo zapadnout
chtel jsem o to zde pozadat jiz davno, ale porad jsem to odkladal a nemel odvahu ...
nasel by se nekdo, kdo by byl ochoten (samozrejme za stedrou uplatu) se se mnou setkat, podivat se na moji aplikaci v delphi
na nas db server a pokusit se poradit v klicovych oblastech, co zlepsit, co predelat aby se apliakce stala alespon trochu sviznejsi ?
ja vim, ze bych si to mel vse nastudovat sam, taky se na to prave chci vrhnout. ale uz jenom gogleni "Waiting for table level lock
" me tak nejak zahltilo a nevim, kudy kam ...
vetsinou mi pohama, kdyz mi nekdo problem vysvetli a muzu se ptat, nez kdzy si o tom sam ctu
je mi jasny, ze vetsina z vas si klepe na celo a rika, vrat se do skoly, ale stareho psa uz novym kouskum nenaucis :(
a kor v mem veku
proto pokud se najde dostatecny masochista, nudu nesmirne rad, je mi jasny, ze to nebude levny, takze nehlaste se vsichni
restaurace je v samem centru Prahy, pokud bude potreba jsem shcopen dovezt privezt odvezt, odmena nebude pouze financni, ale samozrejme i v naturaliich po celou dobu seance :)
dekuji MOC !
Jsem schopen Vás naučit SQLko a databáze. Komponenty v Delphi jsou zase jiná kapitola o které naopak nevím vůbec nic. Po zkušenostech z Visual Basicu jsem se "inteligentním" db komponentám vyhýbal jak čert kříži - na demo super, na větší aplikaci to byla vlastně úplná tragédie. Přidalo to jen mraky práce navíc - aby to bylo aspoň rozumně rychlé.
-
chtel jsem o to zde pozadat jiz davno, ale porad jsem to odkladal a nemel odvahu ...
nasel by se nekdo, kdo by byl ochoten (samozrejme za stedrou uplatu) se se mnou setkat, podivat se na moji aplikaci v delphi
na nas db server a pokusit se poradit v klicovych oblastech, co zlepsit, co predelat aby se apliakce stala alespon trochu sviznejsi ?
Bylo by ode mě nezdvořilé jen zkritizovat a pak na tuhle výzvu pomoci nereagovat. Takže jestli je zájem, rád se sejdu osobně a můžeme se domluvit co s tím. Placení bych zatím neřešil, dokud si nedohodneme co a jak, beru to jako posezení s kolegou. Praha není problém, jsem už pár let "místňák" :).
V případě zájmu napiš PM a raději upozorni, že jsi to udělal...
-
chtel jsem o to zde pozadat jiz davno, ale porad jsem to odkladal a nemel odvahu ...
nasel by se nekdo, kdo by byl ochoten (samozrejme za stedrou uplatu) se se mnou setkat, podivat se na moji aplikaci v delphi
na nas db server a pokusit se poradit v klicovych oblastech, co zlepsit, co predelat aby se apliakce stala alespon trochu sviznejsi ?
Bylo by ode mě nezdvořilé jen zkritizovat a pak na tuhle výzvu pomoci nereagovat. Takže jestli je zájem, rád se sejdu osobně a můžeme se domluvit co s tím. Placení bych zatím neřešil, dokud si nedohodneme co a jak, beru to jako posezení s kolegou. Praha není problém, jsem už pár let "místňák" :).
V případě zájmu napiš PM a raději upozorni, že jsi to udělal...
napsal jsem PM DIKY !
-
napsal jsem PM DIKY !
Sice mi to spadlo do spamu, ale našel jsem to a máš tam odpověď. Zatím není zač :)
-
Co to hodit do Cloudu ala AWS?
Odpadly by Vám starosti za HW. V AWS kalkulatoru byste si spočítali, kolik Vás to bude stát.
Buď na přímo na Linuxovej box, nebo na RDS.
Do lokální sítě si to připojíte přes IPSEC VPNku...
Stavět si lokální server na koleně pro databázi je imho dost old-school...
-
v my.cnf dat misto key_buffer_size = 128MB treba key_buffer_size=512MB, restart a bude vyreseno.
Viz. https://mariadb.com/kb/en/library/optimizing-key_buffer_size/
Tedy, ziska se cas prepsat aplikaci poradne podle rad, co tu zaznely.
-
data v klaudu, data v čaudu...
to je přesně logika mlamojů..
jsou instance nebo lidi který chtějí mít lokální data (at uz technické, subjektivní nebo objektivní důvody)... nevím co "oldschool" by na tom bylo
1) už jne kvalita připojení a latence v hospodě v centru prahy s kamenným barákem... (optiku dokopat na žižkov někam je DOST problém např..
osobně některé věci v Cloudu mám, ale 75 procent ne (i firemní systémy..) z různých důvodů..
-
Toto vidim na trivialnu programatorsku chybu, ktoru skuseny programator opravi za par minut.
Jednoznance tam vysi update a necakam, ze to je sposobene mnozstvom dat v MySQL. Aj keby to bolo bez indexov a zle navrhnuta db, tak to musi zvladat akyklovek HW. Neviem si predstavit ako pri takomto pouziti sa da zabit MySQL. Jedina moznost, co tam vidim, je ta replikacia MySQL.
Ten update sa z nejakych dovodov neukonci vtedy ked ocakvas ale tipujem, ze az neskor pri inej operacii a preto to tam vysi.
Nieco taketo mame postavene zhodou okolnosti tiez v Delphi (7) aj s podobnou funkcionalitou(uzamykanie uctov/stolov je riesene cez samostatnu tabulku) v mojej teraz uz byvalej firme. Je to prehistoricka zalezitost ale funguje spolahlivo. Bezi to s nulovym zatazenim aj na prehistorickom 800MHz VIA C3 aj so 128 MB SDRAM a rotacnym diskom, v spicke, ked 12 casnici vydaju par stoviek obedov. Casnici to nemaju sancu zatazit, kedze su schopny vygenerovat teoreticky max 6 dotazov za sekundu (je tam 6 reg. pokladnic).
Ked teraz pozeram na ten dotaz a tvoj popis funkionality, tak neviem prist na celu logiku, ktoru si pouzil UPDATE ucty SET lock_id = 0 WHERE lock_id = 11
Zaujimala by ma struktura tej tabulky ucty.
-
data v klaudu, data v čaudu...
to je přesně logika mlamojů..
jsou instance nebo lidi který chtějí mít lokální data (at uz technické, subjektivní nebo objektivní důvody)... nevím co "oldschool" by na tom bylo
1) už jne kvalita připojení a latence v hospodě v centru prahy s kamenným barákem... (optiku dokopat na žižkov někam je DOST problém např..
osobně některé věci v Cloudu mám, ale 75 procent ne (i firemní systémy..) z různých důvodů..
1. Ale né, žádnej Mlamoj, ale starej Cloud Hosting Supporťák...
Pokud chce mít data lokálně, tak cloud samozřejmě nepadá v úvahu.
2. už jne kvalita připojení a latence v hospodě v centru prahy s kamenným barákem... (optiku dokopat na žižkov někam je DOST problém např..
Záleží... btw. Prej hospoda v Praze :-D
3. osobně některé věci v Cloudu mám, ale 75 procent ne (i firemní systémy..) z různých důvodů..
Znám firmy, co míchají dohromady AWS +Azure a další cloud... a běží jim na tom prakticky všechno... v HQ mají jen malej vmware cluster s pár věcma... Vy je koneckonců znáte taky. ;-)
-
Zaujimala by ma struktura tej tabulky ucty.
MariaDB [pokladna]> describe ucty;
+-------------------------+----------------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------------+----------------------+------+-----+---------------------+----------------+
| id | int(1) | NO | PRI | NULL | auto_increment |
| lock_id | int(1) | NO | | NULL | |
| typ | set('P','N','I','Z') | NO | MUL | P | |
| merged_to | int(1) | NO | | NULL | |
| merged_at | datetime | NO | | NULL | |
| splitted_from | int(1) | NO | | NULL | |
| splitted_at | datetime | NO | | NULL | |
| inv_smeny | set('A','N') | YES | | N | |
| pers | set('A','N') | YES | | N | |
| zaloha | int(1) | NO | | NULL | |
| certifikat | int(1) | NO | | 0 | |
| pokec | varchar(25) | NO | | NULL | |
| roznos_placen_krcma | set('A','N') | YES | | A | |
| platba | set('H','K','S','P') | NO | | H | |
| faktura | set('A','N') | YES | | N | |
| kartou_hotovost | int(1) | NO | | NULL | |
| tip | int(1) | NO | | 0 | |
| eur_22 | int(1) | NO | | NULL | |
| eur_25 | int(1) | NO | | NULL | |
| smeny_id | int(1) | NO | | 0 | |
| dodavatele_id | int(1) | NO | | NULL | |
| dodavatele_doklad_cislo | int(1) | NO | | NULL | |
| inv_pracoviste_id | int(1) | NO | | NULL | |
| cislo_dokladu | int(1) | NO | | 0 | |
| stoly_id | int(1) | NO | MUL | 0 | |
| stoly_rozliseni_id | int(1) | NO | | 0 | |
| pocet_hostu | int(1) | NO | | 0 | |
| klienti_id | int(1) | NO | | 0 | |
| zprostredkovatel_id | int(1) | NO | | NULL | |
| provize | int(1) | NO | | NULL | |
| provize_proc | int(1) | NO | | NULL | |
| provize_ucet | int(1) | NO | | NULL | |
| nahanec_id | int(1) | NO | | NULL | |
| nahnal_hlav | int(1) | NO | | NULL | |
| cash_flow_id | int(1) | NO | | NULL | |
| cash_flow_zaplaceno | int(1) | NO | | NULL | |
| faktury_sek_id | int(1) | NO | | NULL | |
| osoby_id | int(1) | NO | | 0 | |
| open | timestamp | NO | | current_timestamp() | |
| closed | datetime | NO | | 0000-00-00 00:00:00 | |
| sleva_nak | int(1) | NO | | NULL | |
| zaokrouhleni | decimal(7,4) | NO | | 0.0000 | |
| placeno | int(1) | NO | | NULL | |
| hash_old | char(32) | NO | | NULL | |
| hash_new | char(32) | NO | | NULL | |
| export | set('A','N') | YES | | N | |
+-------------------------+----------------------+------+-----+---------------------+----------------+
46 rows in set (0.00 sec)
-
1) už jne kvalita připojení a latence v hospodě v centru prahy s kamenným barákem... (optiku dokopat na žižkov někam je DOST problém např..
a jeste ve sklepe :(
-
pratele, dekuji vsem za rady a podnety
problem se z 90 % vyresil upravou aplikace a vycistenim serveru a databaze
za toto vse vdecim uzivateli ByCzech, ktery me v Krcme ochotne navstvil a pomohl radou i cinem, vcetne trpeliveho zodpovidani mych vecnych zacatecnickych dotazu, dokonce se tu rysuje dlouhodobejsi spoluprace :)
jeste jednou diky a i vsem ostatnim prisedicim
Tomas Holy