GetInfo.Ru – Компьютерная библиотека
Последние поступления
Как выбрать систему управления базы данных
Базы данных03/09/14
Этапы загрузки UNIX (в схеме)
Unix27/03/12
Gatewall Antispam: тотальный контроль электронной почты
Спам21/04/11
Мастер-класс: создаем Интернет-магазин (Часть 1)
Обзоры ПО20/04/11
CorelDRAW Graphics Suite X5: Что нового?
Обзоры ПО20/07/10
Добавить статью
Самые читаемые материалы
Принципы написания технического задания(42088)
Этапы проектирования сайта(30404)
Это сладкое слово — интерактивность...(14652)
Техническая концепция сайта(13471)
Техническое задание для дизайнера(12111)
Всего статей: 793Всего авторов: 364Подразделов: 47Добавлено за сутки: 0
Статьи  СТАТЬИ Форум  ФОРУМ Рейтинг  РЕЙТИНГ Поиск  ПОИСК Контакты  КОНТАКТЫ
» Главная » Концептуализация » Принципы создания успешного проекта

Принципы создания успешного проекта


Евгений В. Жданов
protoplex@mailru.com
http://protoplex.ru/

"Век живи, век учись" - гласит старинная русская пословица. Мы можем годами ходить вокруг да около, но не замечать прописные истины прямо под своими ногами. Многие считают, что успех какого-либо проекта в Интернете - вопрос лишь времени и везения. Впрочем, эти кажущиеся факторы преследуют нас и в реальной жизни, и в виртуальной. Своеобразная рулетка, приносящая случайным образом популярность тому или иному активному проекту. Мы становимся рабами этих факторов, гоняясь за цифрами на счетчиках, вместо того, чтобы подумать и выявить реальные факторы, влияющие на успех того или иного начинания. Составляющие успеха близки к нам, надо лишь идти к своей цели правильным путем, а не отвлекаться по мелочам и прыгать от одной нелепой идеи к другой.

Попытаюсь рассказать вам о тех кирпичиках, которые способны прочно держать веб-проекты на пике популярности. Разговор пойдет не о личных качествах конкретной личности, ведущей проект, а о приемах и факторах, которые при грамотном обращении могут помочь осуществить практически любой замысел. Это никакие не секреты и не догмы, которые нужно принимать на веру, как есть. Это простые элементы сложной машины, в законах которой нужно разобраться и использовать в своих целях.

Итак, все знают, что успех того или иного начинания зависит в огромной степени от личных качеств того человека, кто собственно за это берется. Известно, что неграмотный человек не сможет хорошо написать книгу, а глухой не может стать музыкантом. В отношении веб-проектов залогом успеха является в основном возраст и опыт. Образованный человек лет 25 имеет явные преимущества перед 15-летним школьником. Владение грамотным русским письменным обязательно. В Интернете никто вас не видит, а главным инструментом общения служит ваш сайт. Запомните, что в Интернете не читают, а почитывают. Грубые ошибки режут глаза и снижают доверие к автору. Чем грамотнее и интереснее вы пишете, тем больше поклонников и поклонниц приобретете. Поэтому, ориентируясь на средний возраст 25 лет (подразумевая под возрастом хорошее владение русским языком, широкий кругозор и некоторый опыт работы в Интернете), забываю о личности и перехожу к техническим факторам успеха и некоторым законам сети.

Достичь успеха могут только динамические сайты - страницы таких сайтов создаются сервером "на лету" или с заданной периодичностью. Обычной статикой современную аудиторию Интернета уже не заинтересовать. Посетителям вашего проекта нужно не просто прочитать очередную новость или скачать программу, но и оставить комментарий или задать вопрос. Помимо этого неплохим подспорьем к интерфейсу сайта может стать возможность отослать материал другу, используя адрес его электронной почты и облегченный вариант для распечатки на принтере. Т.е. только динамические сайты могут дать всю ту функциональность и удобство, которые ищут ваши посетители. Попробовав раз, вернутся еще. Интерактивные сайты сейчас в основном пишутся на PHP, PERL, C, ASP. Это сценарии, работающие на стороне сервера. Как правило, для быстрой работы с огромным объемом информации используются базы данных, например MySQL или PostgreSQL. Так как интерактивность подразумевает динамическое создание страниц для каждого пользователя "на лету" или по расписанию, а не выдача уже созданных вручную, то нагрузка на сервер и требования к ресурсам существенно больше. А обеспечение высокой скорости работы для интерактивных сайтов становится основной задачей для разработчика. Правильная организация базы данных, грамотно написанные скрипты и верная настройка веб-сервера могут дать существенный прирост скорости даже без апгрейда аппаратной части. Поэтому при создании сайта нужно проверять и экспериментировать как можно больше. Помните, что при большой посещаемости, к которой стремятся все интернет-разработчики, ваш сайт должен сохранять высокую скорость и стабильность работы.

Применимо к базам данным советую применять следующие полезные советы:

  • Делите крупные таблицы на несколько маленьких в зависимости от их предназначения. Избегайте делать частые операции INSERT, UPDATE в тяжелых таблицах, где постоянно идут операции SELECT. Помните, что таблицы будут каждый раз блокироваться при записи. Так что выносите все счетчики в отдельные легкие таблицы (например, типа HEAP) или держите вспомогательные таблицы, а основные обновляйте пакетами, например, ночью в 4 часа, когда нагрузка на сервер минимальна.

  • Создавайте индексы на часто используемые поля для WHERE или SELECT. Они существенно ускоряют поиск информации в таблицах и снижают количество дисковых операций. Это отражается на скорости работы сервера и выражается в моментальной выдаче результатов. При создании индексов важно знать, что и как часто используется, что влияет на скорость исполнения запроса, что может затормозить сервер.

  • Используйте постоянные соединения с БД. Т.е. в начале работы скрипта нужно делать соединение, а разрывать его только по завершении его работы, а не соединяться и рассоединяться после каждого запроса или операции. Для режима FastCGI скрипт должен держать постоянное соединение с БД, инициализируя его при своем запуске. Помните, что соединение с сервером БД - довольно ресурсоемкий процесс.

  • Избегайте делать запросы на ненужные данные. Используйте вместо SELECT * from ТАБЛИЦА1 более быстрые запросы по полям SELECT ПОЛЕ1, ПОЛЕ2 from ТАБЛИЦА1. Помните, что лишняя информация ведет к лишней нагрузке на сервер.

Теперь расскажу о главном - о связи качества хостинга и посещаемости. По своему опыту скажу, что одним из важнейших факторов успеха проекта в Интернете является скорострельность вашего сервера. Чем быстрее сервер формирует страницы для посетителей, тем больше страниц они смогут пролистать. Помните, что их время на сайте ограничено создателем, а не ими. Вы должны не только заинтересовать посетителей контентом, но и скоростью работы. Модемщики могут не заметить колоссальной скорости работы вашего сайта, но выделенщики уж точно заметят и оценят.

Более того, роботы поисковых машин постоянно запрашивают документы веб-серверов и индексируют их. Чем быстрее работает сервер и канал, тем быстрее и полнее пройдет индексация/переиндексация вашего сайта. Запомните, что индексация идет постоянно, роботы могут посетить ваши страницы в любой момент. Например, ProtoPlex.Ru ежедневно сканируется Гуглом, Яндексом, МСН, Инктоми и другими краулерами. Число их запросов для такого крупного интерактивного проекта может превышать десять тысяч. Представьте себе, какую нагрузку может вызвать такое количество автоматизированных посещений! Помню, что в момент индексации несколько месяцев назад мой сайт становился практически недоступным. Пришлось много работать, чтобы оптимизировать существующий движок и достичь стабильной и высокой скорости работы даже при больших нагрузках. Одно я тогда понял - надо создавать сайт на быстром сервере и высокоскоростном канале, писать сверхбыстрые скрипты и тогда посещаемость будет всегда высокой. Самый быстрый дата-центр для России, где можно разместить свой проект, это, конечно, M-9. Это узел сосредоточения всего Рунета + до иностранцев прямой канал.

Быстрые сервера есть у всех провайдеров, особенно у новых. Но почти все грешат тем, что на одном сервере стараются уместить побольше клиентов, что приводит к тому, что общая загрузка сервера становится слишком высокой и сайты начинают работать слишком медленно. А иногда и вовсе случаются сбои в их работе. А каждый сбой ведет к ошибкам индексации, к недополученной посещаемости и обиженной толпе уже имеющихся постоянных посетителей. А каждый час простоя или частые сбои ведут к резкому спаду посещаемости для обычных проектов, к потере клиентов для коммерческих проектов. Поэтому не рекомендую использовать массовые дешевые хостинги типа ValueHost. Даже Мастерхост жутко тормозит, хотя цены у них не низкие. Поэтому, как ни крути, а лучше взять качественный хостинг за нормальные деньги и заниматься развитием проекта, чем продешевить и тратить свое драгоценное время на поиски несуществующих ошибок или путей избавления от тормозов по вине жадного или непутевого провайдера. Запомните, качественный хостинг - это прежде всего основание для высокой посещаемости вашего ресурса. Не нужно тратить время на технические вопросы, этим должна заниматься служба технической поддержки. Служба техноподдержки - важный критерий выбора хостинга. В некоторых конторах сидят девочки, которые переспрашивают, что такое DNS или SSH. Многим спецам хватает знаний и опыта, но не хватает терпения работать с тупым клиентом. А до горячей линии некоторых контор вообще дозвониться нереально, приходится висеть полчаса на линии и слушать нудные мелодии АТС. Уделяйте свое время развитию, планированию, пиару и т.д. Постоянно стремитесь к более высокому качеству своего материала, проводите конкурсы, размещайте ссылки на интересные ресурсы. Посещаемость растет только благодаря вашей активности и потенциалу вашей хостинговой площадки. Для сравнения - на Валуехосте проект может иметь посещаемость 300-500 человек в день, на том же Скайвебе - более 5000 тысяч. Все проекты с посещаемостью выше 10 тысяч хостов в день, обычно сидят на выделенных серверах и соответственно платят другие деньги за хостинг.

Помимо быстроты самих серверов важна их программная начинка. Лично я использую в работе современные технологии ускорения Perl-скриптов. Технология FastCGI позволяет моим скриптам работать почти в 5 раз быстрее обычных CGI. Это намного экономичнее PHP, быстрее по скорости, функциональнее. Скрипты, грамотно тюнингованные под фаст, постоянно висят в памяти, поэтому могут держать постоянное соединение с БД.

Все это позволяет достигать высочайшей скорости работы, а следовательно и высокой посещаемости вашего проекта. Посещаемость - залог успеха вашего бизнеса, продвижения идей. А в целом, раскрутить можно практически все. Главное - идея и фундамент, способный держать эту идею, даже если она станет чересчур популярной.

 
06.05.2004
Версия для печати Версия для печати Запомнить ссылку Запомнить ссылку
Ваша оценка:  1   2   3   4   5     

 О проектеПерепечаткаАвторамПартнерыО нас пишут
Наверх
©2003—2007. GETINFO.RU. ВСЕ ПРАВА ЗАЩИЩЕНЫ.