avva: (Default)
[personal profile] avva


Если написанный мной memcached будет использовать Слэшдот (search for 'memcached' inside that page) — вот это будет номер :-)

Re: Можно вопрос?

Date: 2003-06-16 03:36 am (UTC)
From: [identity profile] piggymouse.livejournal.com

Не подвергая сомнению Вашу точку зрения в целом, я хотел бы просто любопытства ради прояснить один момент.

Secundo: memcached как решение стоит 150 долларов (просто ставим в уже работающую машину дополнительный гигабайт оперативки) и порядка двух часов на всю процедуру внедрения — сборка, запуск, начали работать.

Адаптация существующих приложений (см. "Porting the Application"), очевидно, займёт несколько более двух часов. Вы не включаете адаптацию в понятие "внедрение" или я чего-то не понимаю?

Re: Можно вопрос?

Date: 2003-06-16 03:59 am (UTC)
From: [identity profile] sergeax.livejournal.com
очевидно, займёт несколько более двух часов

Вот лично для меня это глубоко неочевидно. Я специально посмотрел еще вчера все места в коде ЖЖ, где встречается обращение к memcache. Таковых мест наскреблось с два десятка в девяти файлах. Всей работы, при условии понимания механизма, как раз на искомые два часа.

Re: Можно вопрос?

Date: 2003-06-16 04:01 am (UTC)
From: [identity profile] avva.livejournal.com
Но оно всё использует библиотеку client-side на Перле, написание и отладка которой потребовала больше двух часов (хоть и не на порядок). Впрочем, та же библиотека может быть использована для других проектов на Перле, конечно.

Re: Можно вопрос?

Date: 2003-06-16 04:08 am (UTC)
From: [identity profile] sergeax.livejournal.com
И поставляется вместе с самим memcached, если я не ошибаюсь. По крайней мере какой-то Perl API там точно имеется.

Кстати, Анатолий, а каковы шансы у вашего демона быть успешно собранным под CygWin с mingw32?

Re: Можно вопрос?

Date: 2003-06-16 04:17 am (UTC)
From: [identity profile] avva.livejournal.com
Две библиотеки, от которых зависит memcached -- libevent и Judy. Judy должна по идее построиться под mingw32 без проблем, а вот насчёт libevent не уверен. В принципе ничего не мешает ей бежать под mingw32 и использовать стандартный поллинг на основе poll() (мы обычно компилириуем и запускаем memcached на машинах, к-е поддерживают более эффективный epoll() ), но сама компиляция может потребовать каких-то исправлений на уровне Makefile. А может и не потребовать.

В самом memcached единственное, что я могу представить в качестве проблемы - это вызов daemon() при запуске с ключом -d; его может не быть в mingw32, но его можно просто убрать или переписать с помощью fork().

В общем, я бы сказал, минут на 20 работы проверить, собирается ли сразу, и на час-два работы поправить, если собирается не сразу. Но следует учитывать, что: 1) poll() под Win32 наверняка будет не очень эффективным при большом количестве подключений (больше 300, скажем); 2) если под Win32 у mingw32 особенно тупой malloc(), то это может сказаться на перформансе.

Мечтательно

Date: 2003-06-16 04:32 am (UTC)
From: [identity profile] sergeax.livejournal.com
А вот что было бы на самом деле любопытно посмотреть, так это реализацию для Win32 с использованием IO Completion Port.

January 2026

S M T W T F S
    1 2 3
4 5678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 5th, 2026 10:53 pm
Powered by Dreamwidth Studios