« 1 2 3 »
Autor Zpráva
Yuhů
Profil
Milí kamarádi,

protože se dost často ptáte, co se děje s úpravami "stroje" této diskuse, zkusím to trochu shrnout.

V tuto chvíli běžíme na software miniBB 1.6 nebo 1.7, kterou jsme notně upravili. Šlo o přidání desítek maličkostí včetně antispamu. Problémem je nyní výkon na databázi, pravděpodobně jde hlavně o sestavování hlavní stránky (poslední přispívající se musí dělat poddotazem).

Velké výkonnostní nároky diskuse už půl roku řeším platbou za hosting ve výši 1000 korun měsíčně, aby se toto fórum nemuselo vypínat.

Před dalším vývojem a přidáváním funkcí a oprav jsme chtěli přejít na druhou verzi miniBB. Zhruba od srpna už ležím v šablonách druhé verze miniBB, děsně u toho kleju a snažím se je vyčistit. Dneska jsem ale přišel na další problém, totiž také výkon. MiniBB verze 2, na kterou jsem zde chtěl přejít, je výkonově ještě horší než první verze, i když problém není na databázi, ale na straně PHP. Jak jsem zjistil, "druhá" verze se od první liší kromě databázového schématu hlavně tím, že přestala být mini. Má velmi ošklivý zdroják. Kromě toho, že funguje pomalu, je také velmi nepřehledný, místy nesmyslný a není okomentovaný. Vzhledem k tomu několik mnoho desítek mé práce na čištění šablon miniBB 2 byly zbytečnou investicí.

Chtěl bych Vás poprosit o nápady na další provoz. Peníze na hosting nejsou problém. Problém je to, že bych chtěl jednoduchou diskusi, kterou si asi nechci sám programovat. Jenomže všechny diskusním systémy, které nacházím, jaksi nejsou to pravé ořechové. Buďto jsou překombinované, špatně navržené nebo při trochu větší zátěži padají na hubu. Případně všechno najednou.

(Neřeším přechod na nový systém. Nečiní mi problém představa stávající stav zakonzervovat a rozjet novou diskusi jinde, případně jenom převést tabulku uživatelů.)

Poradíte dobrý jednoduchý diskusní systém? Prosím bez zbytečných tlachů. Děkuju.
Keilew
Profil
Jednoduchá odpověď: neexistuje. Žádné hotové řešení nebude nikdy do puntíku splňovat nároky na funkčnost při nejoptimálnějším řešení. Buďto chybí funkce a nebo přebývají a tím roste DB a zátěž do nechtěných rozměrů. Jediné řešení je fórum na míru, přesně dle požadavků s precizní optimalizací. Ale tos asi slyšet nechtěl...
tiso
Profil
Yuhů - neviem či to budú "zbytečné tlachy", ale čo takto presne povedať čo od diskusie požaduješ? Spraviť diskusiu na mieru bude možno jednoduchšie (nejaký čas by som s tým mohol zabiť), minimálne ubudnú zbytočné veci a teda sa zlepší výkon...
Potrebuješ šablóny? Potrebuješ viac jazykov? Každé fórum to obsahuje, a podľa mňa - zbytočne...

btw. niekde Ti zmizol </script> pri goole skripte
Yuhů
Profil
> Žádné hotové řešení nebude nikdy do puntíku splňovat nároky na funkčnost při nejoptimálnějším řešení.

Ale to já přece nepotřebuju. Já potřebuju jenom takové jednoduché řešení, jehož změna nebude porod přes závory.

> Spraviť diskusiu na mieru bude možno jednoduchšie

ale ne otestovat ji a zabezpečit. To už bych si to dávno sám napsal. Já potřebuju nějaké řešení, které už se někde používá. Nechci být každý týden cílem útoku, který jsme zapomněli ošetřit. Nechci ve dne vstávat jenom protože něco lehlo na jakési výjimce.
DoubleThink
Profil *
Já potřebuju nějaké řešení, které už se někde používá. Nechci být každý týden cílem útoku(...)
Osobně bych moc bezpečnost opensource produktů nepřeceňoval - i zde jsme museli svépomocí zalepit pár exploitů. Jedna z raných verzí miniBB2 například obsahovala include s neinicializovanou proměnnou jako jediným argumentem, hackli mi tak jeden z webů.

Co se týče enginu bulletin boardu v té nejsyrovější podobě, neviděl bych problém ho napsat od nuly ve skutečně robustní, bezpečné a výkonné podobě. Měli bysme určitě zvážit, jestli tento postup nebude nakonec ten nejschůdnější, ještě než začneme ohýbat hotový produkt.
Gekon
Profil
Co se týče enginu bulletin boardu v té nejsyrovější podobě, neviděl bych problém ho napsat od nuly ve skutečně robustní, bezpečné a výkonné podobě. Měli bysme určitě zvážit, jestli tento postup nebude nakonec ten nejschůdnější, ještě než začneme ohýbat hotový produkt.

Přijde mi to jako nejlepší možné řešení.
tiso
Profil
Přijde mi to jako nejlepší možné řešení.
Len tomu sa Yuhů bráni :-) Chápem ako to myslí s tým reálnym nasadením, nechce potom riešiť bugy, ale čo sme horší programátori?

Yuhů (ak ustúpi zosvojho stanoviska): zadanie
tiso + (kto sa pridá?): návrh riešenia + programovanie
kajman (ak by ho dakto prehovoril): korekcia návrhu DB + optimalizácia dotazov
habendorf
Profil
tiso

Pokud by byl zájem, můžu udělat html + css šablony.
Yuhů
Profil
tiso, zní to jako dobrý nápad, jenomže zadání, programování, HTML, CSS a návrh DB, to je jen půlka cesty. Minimálně mi chybí další role:

* návrh aplikace (toky dat, šablonovací systém, kešování na serveru!!!)
* implementační a výkonová analýza
* definice programátorské syntaxe (a její kontrola, případně opravy)
* výkonové testy
* produktový management (udržování týmu, vývěska, úkolování, správa bugů)
* javascript
* bezpečnost
* uživatelské testování

bez toho všeho vytvoříme pouze yet another bad BB. Jestli všechny tyto pozice obsadíme, můžeme se do toho pustit.

Opravdu si vážím všech, kdo nabídli pomoc, ale zatím myslím, že opravdu bude lepší najít něco hotového.
Mastodont
Profil
všechny diskusní systémy, které nacházím, jaksi nejsou to pravé ořechové. Buďto jsou překombinované, špatně navržené nebo při trochu větší zátěži padají na hubu ... opravdu bude lepší najít něco hotového
V tom případě bude možná dobré, když sem dáš výčet toto, co už jsi sám zkoumal.
Acci
Profil
Já si myslím, že je zde několik schopných lidí, kteří by takové jednoduché fórum byli schopni vytvořit. A asi by to bylo také nejlepší řešení, protože pochybuji, že nějaké jednoduché a zároveň rychlé fórum existuje.
Kajman_
Profil *
A nebylo by nejjednodušší opravit nynější verzi?
Casero
Profil
Naprosto souhlasím s Kajmanem. Nevím, jak moc je potřeba zacházet do "střev" této verze při opravě, ale stejně to bude snazší, než tvorba nového fóra.
souki
Profil
Kajman_
Casero
Až tolik do miniBB nevidím, ale vždycky platí, že traktor po dálnici nepojede rychle ani s novými pneumatikami a motorem
Manq
Profil
Já jsem pro stavbu nového enginu. Když nám žádné fórum nevyhovuje, tak proč si ho nenaprogramovat? Bylo by tam jen to, co potřebujeme. Podle našich představ.
Joker
Profil
Kajman_
A nebylo by nejjednodušší opravit nynější verzi?
Nojo, jenže Yuhů napsal: Problémem je nyní výkon na databázi. Takže změnit schéma databáze? Pokud to bude nějaký výraznější zásah, nebudou ty úpravy ve výsledku komplikovanější, než to rovnou napsat od začátku?

Jestli můžu něco navrhnout, zkusme si říct nějaký termín, do něj hledat lepší diskusní systém a když nikdo nic nenajde, tak pak udělat brainstorming ohledně naprogramování vlastního systému.
souki
Profil
Joker
Naprogramovat je hračka.. Udělá se nějaké API a diskuse jede... Daleko horší pak je dohodnout se na různých drobných funkcích.
Joker
Profil
souki
Tak jinak: Nejdřív do nějakého termínu hledat hotové řešení a když se nic nenajde, rozjet diskusi o vlastním řešení.

Mimochodem, plný fórum programátorů, mi neříkejte, že bychom nedokázali vyrobit pořádnou diskusi :-) Jestli by to teda nedopadlo jak s těmi mnoha kuchaři a polévkou :)
Mastodont
Profil
A nebylo by nejlepší nejdřív nasadit nějaký profiler, aby se ukázalo, zda platí "pravděpodobně jde hlavně o sestavování hlavní stránky" nebo "určitě jde o sestavování hlavní stránky" ??
Kajman_
Profil *
Pokud je problém opravdu s hlavní stránkou, tak si myslím, že by stačilo přidat pár sloupečků, co se budou předpočítávat nebo se budou měnit triggery.
Yuhů
Profil
pár důležitých reakcí:

> V tom případě bude možná dobré, když sem dáš výčet toto, co už jsi sám zkoumal.

vyzkoušel jsem jich hodně, ale o tom to není. phpBB, punBB, simplemachines, drupal s modulem pro diskuse atd. Všechny jsem zavrhnul z různých důvodů, ale je možné, že jsem zavrhnul něco kvalitního a že nalezené problémy mají řešení. Já totiž nemohu být po několika málo týdnech průzkumu kvalifikovaným odborníkem na výběr diskusního enginu. Proto se pídím po praktických zkušenostech.

> A nebylo by nejjednodušší opravit nynější verzi?

Opravovat nynější verzi by byla dobrá cesta pro řešení jednoho akutního problému (výkon). Je ale otázka, jestli je skutečně problém v tom, co si myslím, že je problém.
Naopak opravovat nynější verzi není dobrá cesta, pokud chceme fórum alespoň nějak dlouhodobě vyvíjet. Fakt, že se vývoj miniBB v naší verzi zastavil, hodně zdejší uživatele omezuje.
Když to shrnu, oprava stávající verze je upřednostňování akutního problému před problémem důležitějším.

> traktor po dálnici nepojede rychle ani s novými pneumatikami a motorem

ano, toho se bojím. Přesto jsem se pustil do debugu a úpravy aktuální verze miniBB (tuším že 2.5 nebo tak nějak). Včera večer jsem dělal výkonové testy a dopadlo to žalostně. Teď mám ale lepší zprávu, protože jsem dnes přišel na to, že většinu výkonu požrala tvorba mých debugovacích hlášek. Takže výkon miniBB 2 není zas tak špatný. Ale když vidím, jak je to naprogramované, tak je mi z toho stejně dost špatně. Nemyslím si, že to půjde snadno přizpůsobovat a opravovat. Asi jsem ze Seznamu zmlsaný a zvyklý na dokumentované a logické kódy, šablony v Tengu a podobně.

> A nebylo by nejlepší nejdřív nasadit nějaký profiler

Mastodonte, přiznám se, že nevím, co je to profiler. Ale je to jako s tou odpovědí Kajmanovi -- jenom řešení akutního problému na úkor jiných důležitých. Jestli umíš dělat výkonový debug, tak mi prosím napiš na soukromý email, možná bych tě využil při jiných příležitostech.
souki
Profil
Přikláněl bych se k té možnosti hledat opensource jen do určitého data. Pak by to chtělo uzavřít vývojovou skupinu (+omezený počet komentátorů). Myslím si, že je tu dost profíků, kteří ikdyž nemají čas nic vyvíjet, tak bude nad zlato, když přispějí nějakým know-how. Pokorně nabízím své služby jakožto phpčkář. Pro seznam jsem sice nedělal, ale něco za sebou už mám. Myslím si, že např. když Kajman vymyslí databázi a nějaké fígle, jak s ní úsporně pracovat a podobně každý přihodí svůj trošek, tak z toho vyleze něco pěkného. pokud narozdíl od miniBB půjdeme cestou nějakého API, tak z toho vypadne hezky upravitelné fórum, ve kterém se vyzná každý další kdo v něm bude chtít dělat úpravy.
Ámen
habendorf
Profil
Fakt, že se vývoj miniBB v naší verzi zastavil, hodně zdejší uživatele omezuje.

No já nevím, jsem tu už delší dobu a docela často, ale nějak omezovaný se necítím. Naopak, tohle je jedna z mála diskuzí bez tisíce zbytečných kravin, jako jsou avatary, smajlové, diferenciace návštěvníků, implicitní podpisy apod. Ještě bych vyházel všechny statistiky, stejně jsou k ničemu.
habendorf
Profil
souki

a podobně každý přihodí svůj trošek, tak z toho vyleze něco pěkného

No z toho IMHO vyleze pěkný leda tak bordel.
souki
Profil
habendorf
Pod funkcemi bych si nepředstavoval ani tak avatary jako spíš chytřejší hledání, PM nebo nějaká urychlovací tlačítka pro moderátory.

No z toho IMHO vyleze pěkný leda tak bordel.
Nemyslel jsem, že každý kousek naprogramuje a uvidíme co z toho vypadne. Ale spíš nejprve diskuse širšího kruhu a pak vývoj v užším kruhu. Funkcionalita bude jasná z předchozí diskuse a při tvorbě se každý drží své specializace. Já bych se třeba nehrabal kajmanovi do návrhu indexů atd., protože vím, že nikdo kvalifikovanější tu asi nebude. Jasné ale je, že už kajman nebude psát programátorskou rutinu.
tiso
Profil
habendorf Ještě bych vyházel všechny statistiky, stejně jsou k ničemu.
Taký profil užívateľa je celkom dôležitý, hlavne keď po dlhšom čase sadnem k diskusii a hľadám kde som čo posledne napísal - či treba reagovať.

Yuhů
- videl som prednášku o teng-u a ak by si to rozbehal na hostingu tak by sa o ňom dalo uvažovať ako o šablónovacom systéme. Otázka ale znie či sú šablóny potrebné, chceš tú diskusiu nasadiť aj niekde inde? Oddelenie vrstiev je pekná vec, ale uberá na výkone.
- kešovanie je tak trochu výzva, ešte som nerobil na takom projekte kde by som ho potreboval (i keď použiť by sa dalo i na menšie projekty), takže s tým skúsenosti nemám.
Yuhů
Profil
habendorfe, dalšími funkcemi nemyslím avatary, smajlíky, hierarchii uživatelů nebo podobné krávoviny. Nic takového opravdu nepotřebuju. Hodilo by se ale lepší RSSko, víc nástrojů pro moderátory (mazání víc příspěvků najednou), snazší přidávání moderátorů, statické adresy, kešování na serveru, přesouvání témat bez vzniku prázdných stránek, přesouvání příspěvků do nových témat, filtrování nezodpovězených dotazů, specifický informační text v každém fóru a možná ještě něco.

> souki
> narozdíl od miniBB půjdeme cestou nějakého API

já nemám s řízením projektů na bázi API vůbec žádnou zkušenost. Je tu někdo, kdo by se toho mohl ujmout? Osobně bych spíš preferoval vytvoření nějakého kompaktního základního fóra, jehož vývoj by se v podstatě pak zastavil. Každý by si to pajcoval, jak potřebuje. Pokud to bude dobře napsané, tak by to mělo jít.

> videl som prednášku o teng-u a ak by si to rozbehal na hostingu tak by sa o ňom dalo uvažovať

Teng v tomhle případě není vhodný. Pro jednu instalaci skupinového projektu nemá smysl ho zavádět (instalovat, učit ho ostatní) a na jiných instalacích na jiných serverech by neběžel.

Kešování je opravdu výzva. Pokud bych hledal nějaký jednoznačný vývoj, proč se opravdu pustit do vývoje něčeho nového, tak je to vize systému, kde téměř všechno, co jde k uživateli na výstup (snad kromě registrace a hledání), je bráno ze statických souborů. Nechci to předhazovat jako implementační podmínku, ale fakt mě to láká. Pak totiž můžeme uvažovat i o relativně nevýkonné šablonovací vrstvě (smarty?). A zároveň tak můžeme postavit fórum, které by zvládlo statisícovou návštěvnost.
Mastodont
Profil
Yuhů
Profiler je také henté oné, co se nainstaluje na server a umí měřit dobu trvání jednotlivých částí programu. Pro PHP je třeba APD, což je PECL extenze. Pro MySQL existují taky, ale to už já neumím.

jenom řešení akutního problému na úkor jiných důležitých

Jenže než se napíše a hlavně odladí nové fórum, tak to nějakou dobu trvá, a pokud máš problémy už teď, bylo by dobré to nějak řešit. A jestli je to fakt ten poddotaz, tak by se to dalo nějak záplatovat (cache apod.)
Yuhů
Profil
> pokud máš problémy už teď, bylo by dobré to nějak řešit

to zatím vyřešila platba za větší limity na hostingu. Není to nic, co bych neunesl.

> tak by se to dalo nějak záplatovat (cache apod.)

s kešováním je ten problém, že je těžké kešovat něco, co se téměř neustále mění (hlavní stránka). Udělal jsem pár neúspěšných pokusů a nechci záplatováním rezavého traktoru ztrácet čas, sílu a motivaci.

Mimochodem, přijde mi správné, že tu zaznívají tyhle otázky. Mám z toho dobrý pocit :-).
Tomáš Hanus
Profil
Pokud cesta povede směrem, kdy se bude "psát" nové fórum na míru, proč uvažují všichni psát ho v hypertext preprocessoru a nepoužít CLR v podobě ASP.NET? ASP.NET je několikanásobně rychlejší díky předkompilování .dll knihoven. Asi by to stálo také za zamyšlení.
« 1 2 3 »

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0