jsn: (Default)
[personal profile] jsn
При попытке посмотреть фифовую ленту с заметным скипом счастливый исход имеет место быть примерно в пяти процентах случаев. все остальное время я получаю Timeout rendering page либо connection reset by peer. Да, сейчас около пяти утра, прайм-тайм по американским меркам, вероятно.
Забавно, что 95% процентов ресурсов, которые livejournal.com тратит в данный момент на общение со мной, уходит на генерацию сообщения про Timeout и создание connection reset-ов. Если бы сервера livejournal хоть четверть этого времени тратили бы на генерацию страниц, всем было бы существенно приятнее жить. Вообще использование rlimit-ов для традиционных веб-приложений -- это отдельная трудная тема, конечно.
Граждане, мне кажется, я готов начать имплеметить механику синхронизации. Митинг по поводу устройства протокола для этого необязателен, но может быть полезен. Если вы это мнение разделяете, давайте еще раз попробуем договориться о времени и месте. Как насчет четверга?
[livejournal.com profile] mdh, мне нужен аккаунт на бете, и я хотел бы с тобой перетереть кое-что. и с [livejournal.com profile] a48 тоже. Вы как? Сегодня, скажем?

Re:

Date: 2001-11-16 02:23 am (UTC)
From: [identity profile] avva.livejournal.com
Ïî÷åìó ñ lastid íå âûéäåò? Backdated entries âðîäå íå ìåøàþò, ìû èõ â ëåíòå íå ïîêàæåì íî â îñòàëüíîì îíè âñåì õîðîøè. Ëåíòà äðóçåé-òî ñòðîèòñÿ íå ïî þçåðíîìó âðåìåíè, à ïî ñåðâåðíîìó, à ñåðâåðíîå ó íèõ êàê ó âñåõ.
Îäèí çàïðîñ - äà, ïðîáîâàëè, è íè÷åãî íå âûõîäèò. Ïîñëåäíèé ðàç ÿ â÷åðà ïåðåïðîáîâàë, ïðîâåðÿÿ Áðýäà. Îí ìíå îòâåòèë ÷åðåç 18 ñåêóíä íà ôðåíäîâóþ ëåíòó èç 50 äðóçåé, èëè ÷òî-òî òèïà òîãî ;(
Ñåé÷àñ åñòü åù¸ êàêèå-òî çàäóìêè, áóäó ñåãîäíÿ ïðîâåðÿòü.
Î ñîòíÿõ ñåëåêòîâ - ïîñìîòðèòå âíèìàòåëüíåé âíóòðü get_recent_items, âñÿ ñóòü â òîì, ÷òî äëÿ êàæäîãî ôðåíäà çàïðîñ ïîëó÷àåòñÿ ÷óòü-÷óòü ðàçíûì, ïîòîìó ÷òî ìû äîáàâëÿåì ðàçíûå óñëîâèÿ security â çàâèñèìîñòè îò òîãî, ÿâëÿåòñÿ ëè remote viewer äðóãîì äàííîãî ôðåíäà è åñëè äà â êàêèõ ãðóïïàõ äðóçåé îí îáèòàåò. Èìåòü îäèí è òîò æå çàïðîñ íà âñåõ íå ïîëó÷èòñÿ.

Date: 2001-11-16 02:58 am (UTC)
From: [identity profile] jsn.livejournal.com
ìíå êàçàëîñü, ÷òî ñåðâåðíîå êàê ðàç è áýêäåéòèòñÿ -- ÿ ýòî íå ñìîòðåë, êîíå÷íî, íàäî áóäåò êàê-íèáóäü.
êîíå÷íî, ÿ ñìîòðåë get_recent_items, îá ýòîì è áûë âîïðîñ. çàïðîñ ïîëó÷àåòñÿ â îáùåì ñëó÷àå ðàçíûé, íî ðàçíîñòü ýòà -- â $extra_sql è $secwhere, áîëüøå íèãäå, åñëè ÿ ïðàâèëüíî ïîíèìàþ. ÷òî äàåò ìàêñèìóì äâà ðàçíûõ prepare çà îäèí view (åñëè ÿ ïðàâèëüíî ïîíÿë, âíóòðè îäíîãî view $extra_sql -- êîíñòàíòà). äâà âìåñòî, ñêàæåì, äâóõ ñîòåí. îñòàëüíîå ðàçíîîáðàçèå çàïðîñîâ ðåøàåòñÿ ÷åðåç ïàðàìåòðèçàöèþ execute.
íó ïîòîì, òàì æå åñòü åùå ïî ïóòè êó÷à ñåëåêòîâ, êîòîðûå âîîáùå íèêîãäà íå ìåíÿþòñÿ è prepare-ÿòñÿ íà êàæäîì øàãó. ïðîùå ñêàçàòü, prepare âîîáùå íèãäå, êàæåòñÿ, íå êåøèðóåòñÿ.

Re:

Date: 2001-11-16 03:13 am (UTC)
From: [identity profile] avva.livejournal.com
Îäèí get_friends_items->ñîòíÿ get_recent_items, â êàæäîì èç íèõ, ñåé÷àñ, îäèí prepare, âàðüèðóþùèéñÿ çà ñ÷¸ò $extra_sql è $secwhere, äà. Íî $secwhere çàâèñèò êàê îò âëàäåëüöà æóðíàëà, òàê è îò remote user'a, ïîýòîìó êýøèðîâàòü åãî íèêàê íå óäà¸òñÿ; åñëè äåëàòü ïî îäíîìó prepare per $secwhere, òî ïîëó÷èòñÿ ðîâíî òî æå êîë-âî prepare íà âñþ ôðåíäîâóþ ëåíòó - èëè ÿ ÷åãî-òî íå ïîíèìàþ?
Íàñ÷¸ò ñåëåêòîâ, ê-å prepare-ÿòñÿ íà êàæäîì øàãó - ýòî âåðíî. ß íå ïîìíþ, âïðî÷åì, ñêîëüêî ðèêâåñòîâ ñåé÷àñ ïðîâîäèò îäèí ñåðâåð äî òîãî, êàê åãî FastCGI óáèâàåò è íîâûé çàïóñêàåò, ðàíüøå òàì áûëî îòíîñèòåëüíî ìàëî, ÷òî-òî âðîäå 50. Íî ÿ ïîèãðàþñü ñ ýòèì, ñïàñèáî çà èäåþ.

Date: 2001-11-16 03:29 am (UTC)
From: [identity profile] jsn.livejournal.com
ó $secwhere åñòü òðè ôîðìû: îäíà èç íèõ ïóñòàÿ, âòîðàÿ ñòàòè÷íà, òðåòüÿ îïèñàíà íèæå:

$secwhere = "AND (security='public' OR (security='usemask' AND allowmask & $mask != 0))";

â ðàìêàõ îòðàáîòêè îäíîãî çàïðîñà íà friends view èñïîëüçóåòñÿ, íàñêîëüêî ÿ ïîíèìàþ, òîëüêî äâå èç íàçâàííûõ òðåõ ôîðì -- ñòàòè÷íàÿ è îïèñàííàÿ âûøå.
â îïèñàííîé âûøå ôîðìå åñòü òîëüêî îäíî èçìåíÿåìîå ìåñòî -- ýòî $mask. íè÷òî âðîäå áû íå ìåøàåò ñäåëàòü åãî ïàðàìåòðîì ê execute. ÷òî-òî òèïà

$secwhere = "AND (security='public' OR (security='usemask' AND allowmask & ? != 0))";

è, äàëåå,

$sth->execute($mask) ;

èëè ÿ ÷òî óïóñêàþ?

Re:

Date: 2001-11-16 03:37 am (UTC)
From: [identity profile] avva.livejournal.com
Íåò, äóìàþ, âñ¸ ïðàâèëüíî. ß â ýòîì ïîíèìàþ ìåíüøå âàøåãî (âîîáùå SQL ïî ñóòè äåëà ó÷èë èç èñõîäíèêà LJ - äî ýòîãî ðàíüøå íèêîãäà íå ïðèõîäèëîñü ñ ÁÄ äåëà èìåòü ïî áîëüøîìó ñ÷¸òó). ß ïîïðîáóþ ó ñåáÿ íà goathack'å ïîýêñïåðèìåíòèâîâàòü è èçìåðèòü, ñêîëüêî ýòî âðåìåíè ýêîíîìèò. Ñïàñèáî!
(åñëè ó Âàñ åñòü æåëàíèå, by all means ïîñûëàéòå ñàìè patch â ðàññûëêó!)

Date: 2001-11-16 07:58 am (UTC)
From: [identity profile] jsn.livejournal.com
ÿ ïîêà ÷òî êàêîå-òî âðåìÿ áóäó òîëüêî òåîðåòèçèðîâàòü, âñå-òàêè î÷åíü ìàëî åùå ïîíèìàþ â äâèæêå, ñðàçó ëåçòü ïðàâèòü êàê-òî ñòðåìíî.
êýøèðîâàííûìè prepare ÿ ëè÷íî íèêîãäà íå ïîëüçîâàëñÿ, íî óæ áîëüíî îíè â ìàíå ïðî DBI íàñòàèâàþò, ÷òî ýòî óñêîðÿåò âåùè è âîîáùå the right thing. íà îáúåìàõ áåòû ýòî íå î÷åíü-òî è ïîïðîáóåøü: áóñò âðÿä ëè áóäåò îñîáî çàìåòåí.
õîòåëîñü ñïðîñèòü Âàøå ìíåíèå -- åñëè ÿ íåêîòîðûé ïðîòîêîë ñèíõðîíèçàöèè òàêè ðåàëèçóþ, â âèäå ïàò÷à ê ñóùåñòâóþùåìó äâèæêó è äîêè, íàïðèìåð -- åãî ïðîêîììèòÿò? à òî íà÷èíàåò êàçàòüñÿ, ÷òî òàê âñåì áóäåò óäîáíåå: â ïðîöåññå ðåàëèçàöèè ìíå àâòîìàòè÷åñêè ïðèäåòñÿ âñå hidden issues êàê-òî ðàçðåøèòü. äóìàþ ïîäíÿòü ãäå-íèáóäü alpha.livejournal.ru, â ïðîòèâîâåñ áåòå, è ìåæäó íèìè ñòðîèòü ïèð ïîñòåïåííî. ìíå êàæåòñÿ, ýòî íå îòðàçèòñÿ íà èäåîëîãèè ñóùåñòâóþùåãî äâèæêà.

Re:

Date: 2001-11-16 10:52 am (UTC)
From: [identity profile] avva.livejournal.com
Äàëüíåéøàÿ ïðîâåðêà ïîêàçàëà, ÷òî êýøèðîâàíèå ïðåïàðîâ íè÷åãî íå äàñò :( ò.ê. mysql íå ïîääåðæèâàåò ïðå-êîìïèëÿöèþ çàïðîñîâ. Ò.å. åñëè ÿ äåëàþ prepare, à ïîòîì execute ñ ïàðàìåòðàìè, âñ¸, ÷òî ïðîèñõîäèò - mysql'îâñêèé DBI driver çàïîìèíàåò çàïðîñ as is â ïàìÿòè, ïîòîì ïîäñòâëÿåò ïàðàìåòðû è îòñûëàåò ñåðâåðó. Ñåðâåð êàæäûé ðàç èíòåðïðåòèðóåò âñ¸ çàíîâî.
ß ÍÅÍÀÂÈÆÓ ÝÒÎÒ ÊÓÑÎÊ ÄÅÐÜÌÀ.
Èçâèíèòå ;)

×åñòíî ãîâîðÿ, ÿ ñîìíåâàþñü, ÷òî åñëè Âû ïðåäîñòàâèòå ãîòîâûå ïàò÷è ñèíõðîíèçàöèè ñ äîêàìè, èõ ïðîñòî òàê ïðîêîììèòÿò, äàæå åñëè îíè áóäóò ðàáîòàòü. Êàê ìû óæå óáåäèëèñü, èäåé íàñ÷¸ò òîãî, êàê ñäåëàòü äèñòðèáóöèþ åñòü ìíîãî, è âûáîð ñîáñòâåííî àðõèòåêòóðû íå ìåíåå âàæåí ÷åì ñàì êîä; ÿ íå äóìàþ, ÷òî Áðàä ñîãëàñèòñÿ ïðèíÿòü íåïîíðàâèâøóþñÿ åìó àðõèòåêòóðó òîëüêî ïîòîìó, ÷òî åñòü ðàáî÷èé êîä.
Ìíå êàæåòñÿ áîëåå íà䏿íûì ñíà÷àëà îáñóäèòü ñòðàòåãèþ è âûáîð àðõèòåêòóðû â ðàññûëêå.
Êàñàòåëüíî ñåðâåðà - åñëè Âàì íóæíî, ÿ ïîïðîøó îðãàíèçîâàòü äëÿ Âàñ goathack account - ýòî ýêêàóíò íà goathack.livejournal.org, ãäå ó Âàñ åñòü ñâîé àïà÷ (áåãóùèé íà ñâî¸ì ïîðòó) è ñâîé myqsl, ïðåóñòàíîâëåííàÿ ñðåäà ÆÆ è ïîëíàÿ âîçìîæíîñòü ýêñïåðèìåíòèðîâàòü ñ ÷åì óãîäíî. Ýòî ñïåöèàëüíàÿ ñðåäà äëÿ äåâåëîïåðîâ ÆÆ, î÷åíü óäîáíî.

Date: 2001-11-16 02:32 pm (UTC)
From: [identity profile] jsn.livejournal.com
ÿ òóò ñåé÷àñ ïîèãðàëñÿ ñ áàçîé íà ãðàíÿõ -- íàïèñàë ìàëåíüêèé òåñòèê, êîòîðûé 1000 ðàç äåëàåò ïî íåêîòîðîé òàáëèöå select * <...> where id in (<äåñÿòü ñëó÷àéíûõ ÷èñåë>). â îäíîì ñëó÷àå èñïîëüçóåòñÿ îäíîêðàòíûé prepare/ïàðàìåòðèçîâàííûé execute, â äðóãîì -- prepare íà êàæäîé èòåðàöèè/îáû÷íûé execute().
ðàçíèöà âî âðåìåíè âûïîëíåíèÿ íàáëþäàåòñÿ äîâîëüíî ñòàáèëüíî -- âàðèàíò ñ îäíîêðàòíûì prepare çàíèìàåò íà 30%+ ìåíüøå user cpu. â îæèäàíèè îòâåòîâ îò sql-ñåðâåðà îáà ïðîâîäÿò îäèíàêîâîå âðåìÿ.
ÿ íå äåëàþ fetchrow â ýòîì òåñòå -- òîëüêî prepare è execute.

Re:

Date: 2001-11-16 02:51 pm (UTC)
From: [identity profile] avva.livejournal.com
À ÷òî òàì ñòîèò? mysql - åñëè äà, òî êàêàÿ âåðñèÿ?
ß ñìîòðþ â èñõîäíèêè DBI-driver'à äëÿ mysql è íå âèæó, ãäå îí ìîæåò ñýêîíîìèòü 30%. Ðàçâå ÷òî íà òðèâèàëüíûõ âåùàõ òèïà àëëîêàöèè ïàìÿòè è ïîäîáíîé ìåëî÷è, íî òîãäà ýòè 30% äîëæíû äàâàòü î÷åíü ìàëî.
Ïðè÷èíà ïî ê-é äîêè DBI ñîâåòóþò ýêîíîìèòü íà prepare - êàê ðàç â òîì, ÷òî â íàñòîÿùèõ ñåðâåðàõ prepare - ýòî îòäåëüíûé âûçîâ ñåðâåðà, ê-é âñ¸ ïàðñèò è âîçâðàùàåò íåêóþ âíóòðåííþþ ñêîìïèëèðîâàííóþ ôîðìó. Íî â ñëó÷àå ñ mysql ñåðâåð ïðîñòî íå âûçûâàåòñÿ ïî prepare.

Ñòðàííî.

Date: 2001-11-17 12:21 am (UTC)
From: [identity profile] jsn.livejournal.com
mysql Distrib 3.22.32, DBI 1.14, DBD::mysql 2.0415.
àáñîëþòíî íè÷åãî, â îáùåì, èíòåðåñíîãî.
åùå ðàç îáðàùàþ Âàøå âíèìàíèå íà òî, ÷òî 30% âûèãðûøà -- ýòî â òåðìèíàõ user cpu, ò.å. ïðîöåññ, äåëàþùèé prepare è 1000 execute()-îâ, ñúåäàåò íà 30% ìåíüøå cpu êâàíòîâ, ÷åì ïðîöåññ, äåëàþùèé 1000 prepare è òûñÿ÷ó execute.
1) îáà ïðîöåññà áîëüøå íè÷åãî íå äåëàþò -- íå äåëàþò, â ÷àñòíîñòè, íèêàêèõ fetchrow_*.
2) êàê ÿ óæå ñêàçàë, îòâåòà îò sql-ñåðâåðà îíè îáà æäóò â òî÷íîñòè îäèíàêîâîå âðåìÿ -- âñÿ ýêîíîìèÿ òîëüêî â ïîòðåáëåíèè cpu êâàíòîâ.

Profile

jsn: (Default)
jsn

July 2020

S M T W T F S
   1234
56789 1011
12131415161718
19202122232425
262728293031 

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 31st, 2025 08:57 pm
Powered by Dreamwidth Studios