Category: Development
[lang_en]Monitoring nginx Server Statistics With rrdtool[/lang_en][lang_ru]Сбор Статиcтики О Работе Сервера nginx При Помощи rrdtool[/lang_ru]
29 Apr2006

[lang_en]

Few days ago I have installed nginx on one of our adult projects as reverse proxy server and for static files management. Yesterday this server got 200Mbit/sec traffic and because all admins like to create miscellaneous graphs, I have decided to draw nginx stats on graphs to see server load not only in megabits and load averages. As the result, I have created perl script, which uses RRDs perl module to create and manage rrd-database and very beautiful graphs.

[/lang_en]

[lang_ru]

Неcколько дней тому назад я установил nginx на одном из своих adult-проектов как reverse proxy server и сервер для раздачи статичечких файлов. Вчера, когда трафик с этого сервера достиг 200Mbit/сек и, наверное, потому, что все админы любят рисовать графики, я решил отобразить статистику работы сервера nginx на графиках чтобы увидеть загрузку не только в мегабитах и системных параметрах загрузки сервера. В результате работы над этими графиками родился скрипт на perl, использующий модель RRDs для создания и управления базой rrd и рисования очень красивых графиков.

[/lang_ru]

Read the rest of this entry


[lang_en]Using epoll() For Asynchronous Network Programming[/lang_en][lang_ru]Использование epoll() Для Организации Асинхронной Работы С Сетевыми Соединениями[/lang_ru]
13 Apr2006

[lang_en]

General way to implement tcp servers is “one thread/process per connection”. But on high loads this approach can be not so efficient and we need to use another patterns of connection handling. In this article I will describe how to implement tcp-server with synchronous connections handling using epoll() system call of Linux 2.6. kernel.

[/lang_en]

[lang_ru]
Одним из самых распространенных способов реализации серверов tcp является “один поток/процесс на соединение”. Но при высокой нагрузке этот метод может быть не слишком эффективным, и необходимо использовать другие паттерны обработки соединений. В этой статье я расскажу, как реализовать tcp-сервер с синхронной обработкой запросов с помощью системного вызова ecall в ядре Linux 2.6.
[/lang_ru]

Read the rest of this entry


[lang_en]How To Get Data For Mrtg Without Running SNMP Daemon?[/lang_en][lang_ru]Как Получить Данные Для Mrtg Не Запуская SNMP-Сервер?[/lang_ru]
5 Apr2006

[lang_en]

Plotting traffic graphs is one of the most popular UNIX admin tasks. 😉 Mrtg is a great tool and it is widely used for plotting traffic graphs. It can be easily set up to plot statistics for any SNMP-enabled device (including Linux servers running snmpd). But sometimes we can not setup snmp daemon in Linux server because of small amount of memory or because of some another reasons. How we can plot our favourite graphs in such cases?

[/lang_en]

[lang_ru]

Рисование графиков загрузки сетевых интерфейсов – это, наверное, одно из самых популярных занятий UNIX-администраторов. 😉 Отличным инфтрументом для этого является утилита mrtg. Она может быть без проблем настроена на создание графиков загрузки интерфейсов любого поддерживающего SNMP устройства (в том числе и Linux-сервера с запущенным на нем snmpd). Но, иногда, мы не можем запустить snmp-демон на Linux сервере из-за маленького обхема оперативной памяти или еще по каким-то объективным причинам. Как же быть в такой ситуации, если графики все-таки нужны, но нет SNMP?

[/lang_ru]

Read the rest of this entry


[lang_en]Fiddler – HTTP Debugging Proxy[/lang_en][lang_ru]Fiddler – HTTP-прокси сервер для отладки[/lang_ru]
16 Mar2006

[lang_en]

Some times we need to debug some web-application or some web-server software, but we can not see complete HTTP-session. I very like Live Headers Plugin for Firefox, but it has some disadvantages… It can not say me when some interesting event happens.

Let me introduce very useful tool for web-server admins and web-developers: Fiddler – HTTP Debugging Proxy which logs all HTTP traffic between your computer and the Internet. Fiddler allows you to inspect all HTTP Traffic, set breakpoints, and “fiddle” with incoming or outgoing data. Fiddler is designed to be much simpler than using NetMon or Achilles, and includes a simple but powerful JScript.NET event-based scripting subsystem.

If you need to debug HTTPS headers, you can use RPASpy plugin that enables viewing HTTPS request and response headers inside Fiddler.

[/lang_en]

[lang_ru]

Иногда возникает необходимость отладки веб приложений или веб-серверного программного обеспечения, но мы не можем полностью увидеть всю HTTP-сессию. Мне очень нравится плагин Live Headers Plugin для Firefox, но и у него есть некоторые недостатки… Например, он не умеет уведомлять меня об интересующих меня событиях в сессии.

Позвольте представить Вам очень полезный инструмент для администраторов web-серверов и веб-девелоперов: Fiddler – HTTP-прокси сервер, специально предназначенный для отладки, который сохраняет весь HTTP-трафик между вашим компьютером и сетью Internet. Fiddler позволяет Вам мониторить HTTP Traffic, устанавливать точки останова и просматривать входящие и исходящие данные. Fiddler специально разработан с целью быть в использовании намного проще, чем NetMon или Achilles и включает простые, но очень мощные средства написания скриптов на JScript.NET.

Если Вам нужно отлаживать HTTPS-заголовки, Вы можете использовать плагин RPASpy, который позволяет просматривать HTTPS-запросы и ответы внутри Fiddler.

[/lang_ru]


[lang_en]Oracle Database 10g Express Edition: Not Just for Learners[/lang_en][lang_ru]Oracle Database 10g Express Edition: Не только для обучения[/lang_ru]
15 Mar2006

[lang_en]

Lewis Cunningham wrote very detailed article about Oracle Database 10g Express Edition (XE), about limitations of this version of Oracle and about specific areas where Oracle XE will be ideal solution.

Let me describe basic Oracle XE limitations:

  • Memory – Oracle Database XE can address only 1GB of RAM.
  • CPU – Oracle XE will only use one CPU.
  • Instances count – Only one instance of Oracle XE can run on any given computer.
  • Disk Space – You can only use up to 4Gb of disk space for your data.

At my mind, Oracle XE can be good replacement for poor MySQL database and slow PostgreSQL database servers in some areas. I’m using it in billing system of middle-sized ISP and I really glad to have possibility to use such powerful database for free.

[/lang_en]

[lang_ru]

Lewis Cunningham написал достаточно детальную статью об Oracle Database 10g Express Edition (XE), в которой он проанализировал ограничения данной версии СУБД Oracle и описал специфические области применения, в который Oracle XE может быть идеальным решением.

Позвольте мне перечислить упомянутые ограничения версии Oracle XE:

  • Память – Oracle Database XE может использовать только 1GB RAM.
  • CPU – Oracle XE использует только один CPU.
  • Количество копий – Только одна копия Oracle XE может быть запущена на любом компьютере.
  • Дисковое пространство – Вы можете использовать только до 4Gb дискового пространства для Ваших данных.

Как мне кажется, в определенных областях Oracle XE вполне может быть хорошей заменой функционально бедному MySQL или медленному серверу PostgreSQL. Я попробовал использовать его в биллинговой системе небольшого провайдера в Киеве и очень доволен возможности использования такой мощной СУБД совершенно бесплатно.

[/lang_ru]