OrionXL

Как создавать высокопроизводительные Интернет ресурсы

Роман Иванов @ 19:38 05.12.2009

Как сделать 100% высокопроизводительный ресурс? Универсального ответа на этот вопрос на сегодняшний момент не существует, но можно сформулировать некоторое количество правил и определить ключевые моменты, на которые необходимо обращать внимание при решении данной задачи.
1. Грамотное оформление кода PHP и др., т.е. программист должен иметь определенную квалификацию. Во-первых, чтобы не допускать ошибок, и придерживаться соответствующих стандартов программирования. К примеру, можно написать в теле скрипта n-e количество раз вычисления какого-либо выражения (или организации соединения с БД MySQL).

mysql_connect (host, user, pass)
$result=mysql_query ($query);
mysql_result ($result, 0, 0);

// еще раз вызов

Когда правильнее было бы создать класс.
class DB_mysql {

public $resource;
public $query;

public function connect () {

};
public function execute () {
$this->result=mysql_query ($this->query);
};

};

tst_mysql = new DB_mysql ();
tst_mysql->connect ();

2. Работать с кэшированием. Это является одним из основных мероприятий, которое позволит добиться высоких показателей по разгрузке системы. примеру, зачем каждый раз загружать клиенту список новостей в течение дня, если новости обновляются через день.
3. Грамотная работа с БД. Грамотное выполнение запросов и выводов результатов. К примеру, одной из частых ошибок программистов является вывод запроса на список чего-либо.
SELECT * FROM table;
И далее
For ($i=0; $i<$num_rows; $i++)
If ($i>$a &&$i<$b) echo $data [$i];
Правильнее было бы сформулировать запрос как:
SELECT * FROM table LIMIT $a, ($b-$a); // используем ключевое слово LIMIT
4. Настройка оптимальной производительности, тестирование. Для чего это нужно? Это нужно для того, чтобы найти самые узкие места в программе, отловить неявные ошибки и др.
5. Использование возможностей ВЕБ 2.0 (Ajax). Вместо пересылки всей страницы, можно клиенту отправить только самую необходимую информацию.
6. Есть еще один способ повысить производительность – создание модулей для php на C. Т.к. скриптовый язык всегда выполняется медленнее, то таким образом можно повысить быстродействие в 10-100 раз. Но данный вопрос относительно сложен и не всегда есть возможность его реализовать.
На рисунке ниже показаны по пунктам участки взаимосвязи клиента с веб сервером (один из возможных вариантов организации данной структуры).


Структура работы веб приложений на физическом уровне

Структура работы веб приложений на физическом уровне
Рис.1 Структура взаимодействия клиента с ресурсом http://www.MySite.ru

Комментариев нет

Комментариев нет.

RSS-лента комментариев к этой записи.

Извините, обсуждение на данный момент закрыто.

алгоритмы, методы, программы - OrionXL