Оценка производительности вебсервера при помощи утилиты «ab»

Для оценки производительности веб сервера вы можете использовать утилиту ab. Типовой запуск выглядит так:

ab -c10 -n500 http://teaseo.ru/index.php

где

-с10 — количество конкурентных запросов (по 10 запросов одновременно посылается веб серверу);
-n500 — общее количество запросов в тесте;
http://teaseo.ru/index.php — адрес тестируемого ресурса.

Конечно, результаты несут чисто оценочный характер, говорить об абсолютных величинах производительности некорректно. Многое зависит от контента тестируемого сайта.

PHP Выводим данный из MySQL базы c разделением по страницам

И так, как же разбить выводимую из MySQL информацию на несколько страниц, проще всего, это показать на конкретном примере.

Пускай у нас есть MySQL таблица с название clients и содержит она 92 записи вида:

Name — varchar(250)
Phone — varchar(250)

Предположим что мы хотим выводить по 20 строк на каждую страницу, то есть у нас должно получиться всего 5 страниц. Это значит что при создании SQL запроса, мы должны использовать LIMIT. Это позволит нам выводить необходимые количество страниц начиная с определенного номера записи. Вот как будет выглядеть запрос:

$sql = «SELECT * FROM clients ORDER BY name ASC LIMIT 0, 20»;

Данная запрос выдаст нам 20 записей начиная с первой по сортированных по имени(name).

$sql = «SELECT * FROM clients ORDER BY name ASC LIMIT 50, 20»;

а этот покажет 20 записей начиная с 50, так же сортированных по имени(name).

То есть, все что нам необходимо это определить количество записей, затем разделить это количество на наше число выводимых строк на странице, в нашем случаи это 20, и округлить вверх, таким образом мы получим число страниц.

Но, начнем мы с формирования запроса и вывода результатов в табличку, назовем этот файл pageshow.php:

Continue reading

Редирект на другую страницу с таймером

Ну, и вдогонку к предыдущему посту, небольшой Java скрипт для ридеректа на другую страницу с таймером.

Сам скрипт расположите в <head>:

<script language='JavaScript'>
var time = 15; //How long (in seconds) to countdown
var page = "yourpage.htm"; //The page to redirect to
function countDown(){
time--;
gett("container").innerHTML = time;
if(time == -1){
window.location = page;
}
}
function gett(id){
if(document.getElementById) return document.getElementById(id);
if(document.all) return document.all.id;
if(document.layers) return document.layers.id;
if(window.opera) return window.opera.id;
}
function init(){
if(gett('container')){
setInterval(countDown, 1000);
gett("container").innerHTML = time;
}
else{
setTimeout(init, 50);
}
}
document.onload = init();
</SCRIPT>

И в <body> используйте :

<span id='container'></span>


PhP авторизация через LDAP

Возникла у меня необходимость в аутентификации через LDAP, да еще и в PhP реализации. Основными условиями было проверка логина и пароля пользователя, плюс он должен был быть в определенной группе в AD. Если оба условия выполняются, то дается доступ к определенному контенту. Вот к чему я пришел:

Continue reading

Web интерфейс для транспорта Postfix

В общем, надоело мне добавлять в транспорт пользователей руками, а лень, как известно это двигатель прогресса, поэтому, я решил написать небольшой Web UI. Выглядит он очень простенько, позволяет добавлять или удалять записи и выводит те, который уже есть в базе. Естественно, таблица транспорта должна быть в MySQL.

Если вам нужен интерфейс для управления Postfix-ом, обратите свое внимание на PostfixAdmin

Continue reading

Обновление страници при помощи метатэга Refresh

Если есть необходимость обновлять страницу с каким-то интервалом времени, можно использовать специальный метатэг Refresh. Как пример, если вам необходимо обновлять страницу каждые 30 секунд, то запись будет выглядеть так:

<meta http-equiv=»refresh» content=»30″>

Если вам например нужно перебросить посетителя через какое-то время на другой URL:

<meta http-equiv=»refresh» content=»30;URL=http://teaseo.ru»>

PhP Заголовок Last-Modified

Я немного балуюсь с PHP, не то что бы профессионально, как говориться, в свободное время и в удовольствие. Появилась необходимость в скрипте проверяющем время последних изменений на сайте.

<?php
// Получаем дату модификации скрипта и Last-Modified
$last = filemtime($SCRIPT_FILENAME);
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $last) . ' GMT');

// Получаем If-Modified-Since
foreach($_SERVER as $name => $value) {
if($name == 'HTTP_IF_since')
$since = $value; }

//Меняем на  Unix time
if (isset($since)) {
$since = strtotime(preg_replace('/;.*$/', '', $since));
} else {
$since = 0; }

// Сравниваем даты и выдаем заголовок
if ($last <= $since) {
header('HTTP/1.1 304 Not Modified');
exit(); }
?>

Редирект в Htaccess

При помощи файла .htaccess  можно сделать редирект. Например, редирект старого домена на новый.

RewriteEngine on
RewriteRule ^(.*)$ http://www.your-new-domain.com/$1 [R=301,L]

Если пользователь посетит например страницу http://www.olddomain.com/articles.php, то он автоматически будет перенаправлен на ваш новый домен — www.your-new-domain.com. Параметр R=301 создает перманентный редирект посылая браузеру пользователя сообщение «301 Moved Permanently»

WWW редирект

Htaccess редирект так же поможет если вы хотите что бы пользователи посещали www.mydomain.com а не domain.com

RewriteEngine on
RewriteCond %{HTTP_HOST} ^mydomain.com [NC]
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L]

Встав те данный код в файл .htaccess и все пользователе будут перенаправлены на домен с www.