РЕЦЕНЗИИ
Киллелиа Патрик. Тюнинг Web-сервера. 2-е изд. - Спб.: Издательский дом "Питер", 2003. - 528 с.
Объемы хранящейся и передаваемой информации в Интернете за последние два-три года резко возросли, и тенденция роста сохраняется. Сегодня одна из основных проблем развития и поддержания в надлежащем состоянии этой глобальной сети - повышение ее пропускной способности. Одним из базовых элементов Сети является Web-сервер, производительность которого во многом зависит от правильной и оптимальной его организации не только на аппаратном, но и на программном уровне. Решению этой проблемы средствами программирования и посвящен труд Патрика Киллелиа.
Книга, выпущенная издательским домом "Питер" (www.piter.com), представляет собой перевод тома из популярной библиотеки издательства O’Reilly (www.oreilly.com), ориентированной на программистов-профессионалов. Она состоит из двух частей, включающих 22 главы, приложения, в котором дан обзор программных продуктов для оптимизации Web-сайта, и предметного указателя. Подробно составленное оглавление позволяет использовать издание в качестве справочника по данной тематике. В приложении приведен обзор продуктов для оптимизации Web-сайтов. Диск к книге отсутствует, но обсуждаемые тексты многочисленных программ можно загрузить с сайта автора www.patrick.net/software. В примерах Киллелиа использует языки программирования Си/С++, bash, Perl и Java. В качестве программной платформы, на которой размещается Web-сайт, предполагается один из клонов Unix или Linux, поскольку, по данным автора, в Интернете под этими ОС функционирует 75% всех серверов.
Первая часть книги - вводная. Так, в двух начальных главах содержатся сведения об архитектуре Web-сайта, дается понятие о балансировке нагрузки, описываются примеры конфигурации при низкой, средней и большой нагрузке. После изучения третьей главы "Планирование мощностей" читатель сможет оценить потребность Web-сайта в оборудовании. В четвертой главе анализируются программы контроля производительности с примерами их использования, а пятая нацелена на разработку программ для тестирования Web-сайта с целью определения максимальной нагрузки. Методика анализа производительности, о которой идет речь в шестой главе, позволит читателю отыскивать на сайте "узкие" места, уменьшающие значение этого важного параметра. Проблемы, приводящие к снижению надежности работы Web-сайта и даже к отказу в работе, анализируются в седьмой главе, а в восьмой и девятой рассматриваются проблемы безопасности и их влияние на производительность, разбираются реальные ситуации и дается несколько примеров. В десятой главе сформулированы основные принципы повышения производительности сайтов.
Во второй части детально обсуждаются вопросы оптимизации работы Web-сайтов. Однако не забыты и Web-клиенты, в качестве которых обычно используются браузеры, отсылающие на Web-серверы запросы и принимающие от них информацию. Этим вопросам посвящены главы 11, 12 и 13. В главе 11 описываются процессы, имеющие место в Web-клиентах, и даются рекомендации, каким образом можно ускорить работу браузера, особенно при кажущемся его зависании. В 12-й главе рассматриваются особенности "клиентских" ОС - MS Windows и Mac и их влияние на взаимодействие сети с браузерами, а в 13-й показано, как выявлять "узкие" места в аппаратном обеспечении клиентской машины.
В 14-й главе описывается оборудование, применяемое в глобальной сети, в 15-й - особенности сетевых протоколов. Следующие три главы посвящены аппаратно-программному обеспечению сервера и операционным системам, которые могут быть установлены на нем.
В главе 19 автором даются советы HTML-разработчикам, в 20-й обсуждаются вопросы программирования специализированных CGI-сценариев, а в 21-й приводятся рекомендации по оптимизации Java-приложений и аплетов.
Последняя глава повествует о проблемах функционирования СУБД на сайте.
Изложение, как правило, непростого материала в каждой главе сопровождается практическими, зачастую весьма ценными советами и рекомендациями, которые могут быть использованы непосредственно в работе, а в ряде случаев и не Unix-программистами. Из недостатков следует отметить качество перевода, которое оставляет желать много лучшего.
Издание имеет практическую направленность и может оказаться полезным для широкого круга специалистов, занимающихся разработкой и эксплуатацией Web-сайтов: системных администраторов, разработчиков архитектуры системы, программистов Web-приложений и Web-мастеров, системных интеграторов. Использование сведений, полученных при изучении этого труда, позволит не только повысить производительность Web-сервера, серверных приложений, но и правильно оценить требования разрабатываемого Web-сайта к оборудованию и ПО. Весьма ценным можно считать наличие в книге многочисленных ссылок на литературу и сайты, откуда любознательный читатель сможет почерпнуть дополнительные сведения по заинтересовавшей его проблеме