[mdk-re] Re: [mdk-re] Re: [mdk-re] Re: [mdk-re] Re: [mdk-re] Новый сайт ALT Linux
Alexander Bokovoy
=?iso-8859-1?q?ab_=CE=C1_avilink=2Enet?=
Пт Июн 1 11:37:03 MSD 2001
On Fri, Jun 01, 2001 at 11:32:00AM +0400, Anton Farygin wrote:
> Alexander Bokovoy wrote:
>
> > On Fri, Jun 01, 2001 at 11:12:42AM +0400, Anton Farygin wrote:
> > > > > > Сергей Пугачев на экзаменах. собственно и FAQ добавим как придет.
> > > > > > Я вот думаю - может для LRN модуль сваять, который факи делает? ;-)
> > > > >
> > > > > Угу, наверняка ведь есть код для работы с таблицами, перечнями и т.п.
> > > > > Гм-гм, а midgard такие вещи умеет организовывать?
> > > > Безусловно. Я уже приводил пример: переписать LRN так, чтобы он работал в
> > > > среде Мидгард, можно и при этом даже производительность вырастет (порядки
> > > > не мерили, но для сравнимого по сложности Asgard это заметно невооруженным
> > > > глазом), а вот попытка эмуляции Мидгарда в LRN приведет к резкому падению
> > > > производительности и некоторому неудобству в разработке.
> > >
> > > LRN не будет переписан для мидгард, пока Midgard не будет установлен на
> > > большинстве серверов в сети (как PHP).
> > :-)
> >
> > > Саш, я же уже говорил, что универсальность LRN - основополагающий принцип при
> > > его разработке.
> > >
> > > Другой вопрос - производительность. Да, сейчас производительность не высока.
> > > При чем - проверено экспериментальным путем - явно торомозит на уровне PHP. -
> > > при подключении большого количества библиотек. При этом изменение количества
> > > запросов к MySQL в несколько раз (например до 100) не оказывает
> > > существенного влияния на скорость вывода сайта.
> > При подключении большого количества библиотек тормозит дисковая подсистема
> > и переключение потоков ввода, но это же будет тормозить в других системах,
> > ориентированных на хранение своих исполняемых (интерпретируемых) частей
> > (модулей) в традиционной файловой системе. Этой же болезни подвержен,
> > например, Communiware, использующий perl.
>
> Т.е. - если я буду хранить исполняемые модули в каком-то кеше, то
> производительнось вырастет значительно?
> Кстати, а у тебя есть что-то подобное кешированию сгенеренных страниц? И если да -
> то каким образом ты проверяешь на то, что страница не менялась (не менялись данные
> в базах)???
Прямого кэширования результатов предкомпиляции нет, есть кэширование
исходных данных на уровне БД. А вот это вкупе с разделением коннектов к БД
между потоками в Apache дает неожиданный прирост производительности.
Вдобавок, Apache обращается к диску только один раз -- при начале разбора
страницы, чтобы получить "затравку", когда у него уже есть все необходимые
кусочки и модули из БД. Поскольку для среднестатистической страницы на
Мидгарде это и есть единственное обращение к диску, а на полностью
ориентированном на Мидгард веб-сервере эта "Затравка" попадает в файловый
кэш ядра, то количество обращений к диску сводится к минимуму. То же
касается отдачи вложений -- обращение идет только тогда, когда о вложении
уже все известно.
--
Sincerely yours, Alexander Bokovoy
The Midgard Project | ALT Linux Team | Minsk Linux Users Group
www.midgard-project.org | www.altlinux.ru | www.minsk-lug.net
-- You won't skid if you stay in a rut.
-- Frank Hubbard
Подробная информация о списке рассылки community