[lang_en]
Because of not fully correct testing methodology, benchmark results are not fully correct. So, I decided to redo all tests. New benchmark results you can get in “Looking For Optimal Solution” series Summary post.
This week we have started one new project with Ruby on Rails as primary framework. My first task was to prepare runtime environment for it on one of our development servers. When I have tried to research how people doing it, I noted that there is no information about how to deploy rails application with nginx as frontend and what is performance of such solution. Before blindly make any decisions about future platform I’ve decided to make some performance tests of the some most popular rails web servers/frontends. Results of these tests you can find here with configuration samples for all software that I have used.
[/lang_en]
[lang_ru]
Из-за возможных ошибок в методике тестирования приведенные результаты могут быть не корректными. Потому бяло принято решение провести тестирование заново с измененными параметрами и набором тестов. Новые результаты тестирования Вы можете получить в серии статей “В Поисках Оптимального Решения” и в статье, описывающей результаты всей серии тестов.
На этой неделе мы начали проект, использующий Ruby on Rails как основное средство разработки. Моей первоочередной задачей являлась настройка окружения на одном из наших development-серверов. Когда я попытался разобраться, как же другие люди запускают и используют RoR, я заметил, что в Internet нет информации о настройке rails-приложений в связке с nginx frontend и нет информации о производительности такого решения. Перед тем, как вслепую выбирать решение для хостинга нового проекта я решил провести небольшое тестирование популярных решений для запуска Rails-приложений. Результаты этих тестов и конфигурационные файлы, использованные при тестировании, вы можете увидеть в этой статье.
[/lang_ru]
Read the rest of this entry →
Today Peter Zaitsev announced launch of new forums related to MySQL Performance questions. He says:
This forum is created as free alternative to MySQL Consulting Services which we provide. If you would like to get some free help to your performance issues please use forums so everyone else could benefit from our replies. You also should get more opinions on your performance problems from other forum members. There were a lot of unrelated performance questions placed as comments and sent by email and we had to find better way to organize it.
I think that it is a great idea to start such forums ontop of great blog site because many people can find it from Google when looking for some performance related questions or discussions. So, I want to say good luck to peter and will try to participate any discussions in these forums.
[lang_en]
At this week I came across great blog of Peter Zaitsev and Vadim Tkachenko – two developers from High Performace Group at MySQL Inc. This blog’s name is MySQL Performance Blog and, as you probably assume, it is about misscelaneous sides of MySQL optimization and related stuff. So, if you are MySQL administrator or, even, developer, that works with MySQL, I would advise you to take a look at this blog – there are lots of useful MySQL optimization info.
[/lang_en]
[lang_ru]
На этой неделе я случайно наткнулся на отличный ресурс Петра Зайцева и Вадима Ткаченко – двоих разработчиков из High Performace Group в MySQL Inc. Их блог называется MySQL Performance Blog и, как Вы уже могли догадаться, в нем рассказывается о различных аспектах оптимизации MySQL и различных вещах, относящихся к оптимизации. Потому, если вы являетесь администратором MySQL или, просто, разработчиком, работающим с MySQL, я хочу настоятельно порекомендовать Вам взглянуть на этот блог – там очень много полезной информации по оптимальной работе с MySQL.
[/lang_ru]
[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]
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 →