Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Отделение блокирующих функций
- To: nginx-ru@xxxxxxxxx
- Subject: Отделение блокирующих функций
- From: "Alexey Polyakov" <alexey.polyakov@xxxxxxxxx>
- Date: Sun, 19 Feb 2006 23:12:01 +0300
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=OsKy454eZoTwq0TLQlmzg9M26BQyjmkj/HaB9klT381gAN9+88wq/dg5SxJYTsylOU58rf8cNGjYcCiXEhqo60iEJGAN4F52LXaRr69I3/VyJa6vYbPT1lYrv5MBdkAG9ofFjmlQZfS7anyT6rj155uI4LhbfWLCp6ywMri65j8=
Добрый день!
Просьба Игорю и остальным участником списка оценить следующую идею.
Проблема - раздача статики заведомо сильно превышающей объемом доступную ОП.
Решение - сделать небольшой демон, с применением libthr на FreeBSD 6
либо NPTL на Linux 2.6, который при запуске создает сколько-то потоков
(напр. 500 штук, при небольшом thread stack size вполне нормально), и
слушает berkeley-сокет. Accept Mutex передавать через встроенные же
функции поточной библиотеки. Демон этот уметь должен всего лишь одну
вещь - отпарсить запрос GET /path/to/filename HTTP/1.0, и сделать
sendfile().
Соответственно с другой стороны сокета - nginx, с 1 воркером, с
выключенной буферизацией проксирования.
Насколько эффективным будет такое решение?
--
Alexey Polyakov
|