Radrigo

Рейтинг
86
Регистрация
01.12.2012

Здравствуйте.

На этом хостинге у меня один сайт, 1500-2000 уникальных посетителей, около 5000 тыс переходов в сутки.

Тариф VPS профи.

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

Возможные причины проблемы: Перегружен сервер, на котором размещен сайт, или перегружен сетевой канал, ведущий к серверу. Сервер слишком долго обрабатывает запрос, например, ожидает ответа от базы данных

В поддержке же отвечают что проблем не наблюдают и всё работает отлично.

Может кто сталкивался с подобной проблемой на этом хостинге и в курсе её решения?

В целом хостинг меня устраивает, однако если эта проблема не решится, то придётся от них уйти.

Как лучше напрямую через сапа, или может воспользоваться посредником таким как cmse.ru

Enygma:
тс, тематика у вас какая?

Сайт посвящён небольшому городку с населением 40т., тематика новостная, освещаются все яркие события в жизни города. Все новости публикуются в ленте яндекс новостей.

Дикий пионер:
Для конвертации между кодировками используйте функцию iconv

Можете подсказать более конкретно как это сделать.

Разобрался.

Однако проблема с кодировкой, weather_type выводит набор символов, наверное потому что сайт в кодировке windows-1251, и это единственное значение где русский текст берётся сразу из xml который в utf-8.

Заранее признателен всем за подсказку.

примеры файлов

index.php

<?php require_once 'weather.php' ;


$w_city_id = 26714;
// Идентификатор города (в нашем случае Москва) - можно узнать по адресу http://weather.yandex.ru/static/cities.xml

$col = 10 ;
// количество дней, на сколько нужен прогноз

$day_of_the_week_array = array(
1 => '<b>понедельник</b>',
2 => '<b>вторник</b>',
3 => '<b>среда</b>',
4 => '<b>четверг</b>',
5 => '<b>пятница</b>',
6 => '<b><span>суббота</span></b>',
7 => '<b><span>воскресенье</span></b>'
); // Массив дней недели (для вывода)

$time_of_day = array(
0 => 'утро',
1 => 'день',
2 => 'вечер',
3 => 'ночь'
); // Массив времени суток (для вывода)

$wind = array(
's' => 'южный',
'e' => 'восточный',
'n' => 'северный',
'w' => 'западный',
'se' => 'юго-восточный',
'sw' => 'юго-западный',
'ne' => 'северо-вочточный',
'nw' => 'северо-западный',
) ;

$out = get_weather($w_city_id, $col, $day_of_the_week_array, $time_of_day) ;

/* заполняем масив при помощи функции, первый параметр обязательный - индентификатор города
другие параметры необязательны - в этом случае используется значения по умолчанию */
?>

<?php foreach ($out as $key => $value) { ?>
<div class="pog-day">
<h2><?php echo $value['day_of_week']; ?>, <?php echo $value['day']; ?>.<?php echo $value['month']; ?>.<?php echo $value['year']; ?></h2>
<?php foreach ($value['weather'] as $key1 => $value1) { ?>
<div class="pog-sutk">
<p><?php echo $value1['time_of_day']; ?><img src="http://yandex.st/weather/1.1.78/i/icons/48x48/<?php echo $value1['image']; ?>.png" width="48" height="48" /><?php echo $value1['avg'] ; ?>&deg;</p>
<?php echo $value1['weather_type'] ; ?><br />
Ветер <?php echo $wind[(string)$value1['wind_direction']] ; ?> <?php echo $value1['wind_speed'] ; ?> м/с<br />
Давление: <?php echo $value1['pressure'] ; ?> мм рт. ст.<br />
Влажность: <?php echo $value1['humidity'] ; ?>%</div>
<?php } ?>
</div><?php } ?>

weather.php

<?php


function get_weather ($city, $col = 10, $day_of_the_week_array = array(1 => 'пн', 2 => 'вт', 3 => 'ср', 4 => 'чт', 5 => 'пт', 6 => 'сб', 7 => 'вс'), $time_of_day = array(0 => 'утро', 1 => 'день', 2 => 'вечер', 3 => 'ночь')) {

$data_file = 'http://export.yandex.ru/weather-ng/forecasts/'.$city.'.xml'; // Загружаем файл прогноза погоды для выбранного города
$xml = simplexml_load_file($data_file); // загружаем xml файл через simple_xml

$out = array(); // Массив вывода прогноза
$counter = 0 ; // Счетчик количества дней, для которых доступен прогноз

foreach ( $xml->day as $day ) {

if ($counter == $col) {break;}

$get_date = explode ("-" , $day['date']) ;
$day_of_week = date("N", mktime(0, 0, 0, $get_date[1], $get_date[2], $get_date[0])) ;

$out[$counter]['day'] = $get_date[2] ;
$out[$counter]['month'] = $get_date[1] ;
$out[$counter]['year'] = $get_date[0] ;
$out[$counter]['day_of_week'] = $day_of_the_week_array[$day_of_week] ;

for ($i=0;$i<=3;$i++) {

if($day->day_part[$i]->temperature == '') {

$get_temp_from = $day->day_part[$i]->temperature_from;
$get_temp_to = $day->day_part[$i]->temperature_to;
$get_wind_speed = $day->day_part[$i]->wind_speed;
$get_wind_direction = $day->day_part[$i]->wind_direction;
$get_weather_type = $day->day_part[$i]->weather_type;
$get_humidity = $day->day_part[$i]->humidity;
$get_pressure = $day->day_part[$i]->pressure;
$get_avg = $day->day_part[$i]->{'temperature-data'}->avg;

} else {

$get_temp_from = (integer)$day->day_part[$i]->temperature-1 ;
$get_temp_to = (integer)$day->day_part[$i]->temperature+1 ;

}

if($get_temp_from>0 ) {$get_temp_from = '+'.$get_temp_from ; }
if($get_temp_to>0 ) {$get_temp_to = '+'.$get_temp_to ; }
if($get_avg>0 ) {$get_avg = '+'.$get_avg ; }
$out[$counter]['weather'][$i]['temp_from'] = $get_temp_from;
$out[$counter]['weather'][$i]['temp_to'] = $get_temp_to;
$out[$counter]['weather'][$i]['image'] = $day->day_part[$i]->{'image-v3'};
$out[$counter]['weather'][$i]['time_of_day'] = $time_of_day[$i] ;
$out[$counter]['weather'][$i]['wind_speed'] = $get_wind_speed ;
$out[$counter]['weather'][$i]['wind_direction'] = $get_wind_direction ;
$out[$counter]['weather'][$i]['weather_type'] = $get_weather_type;
$out[$counter]['weather'][$i]['humidity'] = $get_humidity;
$out[$counter]['weather'][$i]['pressure'] = $get_pressure;
$out[$counter]['weather'][$i]['avg'] = $get_avg;

} $counter++ ;
}

return $out ;

}?>
rerighter:
У вас же есть написанный модуль. Какие подсказки еще нужны?

Он не выводит направление и скорость ветра, а так же давление и влажность. Хотелось бы выводить и эти данные.

---------- Добавлено 12.07.2014 в 17:13 ----------

Хотя бы скорость ветра и направление

Их значения в xml Яндекса

скорость ветра - wind_speed

направление ветра - wind_direction

Но как вывести их не могу понять.

siv1987:
RewriteRule ^(uploads/posts/2013-(10|11|12)/.+) http://img.sait.net/$1 [R=301,L]

Этот вариант работает, спасибо=)

siv1987:
Я же написал общее правило для всей папки uploads, чем оно не нравится?

Общее правило как вы написали не работает

RewriteRule ^uploads/(.+) http://img.sait.net/$1 [R=301,L]

Но начинает работать так, не знаю почему

RewriteRule ^uploads/(.+) http://img.sait.net/uploads/$1 [R=301,L]

siv1987:
RewriteRule ^uploads/(.+) http://img.sait.net/$1 [R=301,L]

Спасибо=)

А так будет правильно?

RewriteRule ^uploads/posts/2013-10/(.+) http://img.sait.net/posts/2013-10/$1 [R=301,L]

---------- Добавлено 29.05.2014 в 00:48 ----------

siv1987:
RewriteRule ^uploads/(.+) http://img.sait.net/$1 [R=301,L]

Не выходит, картинки всё равно загружаются с основного домена=(

---------- Добавлено 29.05.2014 в 00:55 ----------

Сори, всё получилось, совершил ошибку в написании.

Спасибо=)

---------- Добавлено 29.05.2014 в 01:11 ----------

Подскажите, как лучше прописать

так

RewriteRule ^uploads/(.+) http://img.sait.net/uploads/$1 [R=301,L]

или всё же отдельно для каждой директории, что-то вроде

RewriteRule ^uploads/posts/2013-10/(.+) http://img.sait.net/uploads/posts/2013-10/$1 [R=301,L]

RewriteRule ^uploads/posts/2013-11/(.+) http://img.sait.net/uploads/posts/2013-11/$1 [R=301,L]

RewriteRule ^uploads/posts/2013-12/(.+) http://img.sait.net/uploads/posts/2013-12/$1 [R=301,L]

дело в том что в папке uploads много других папок и файлов, все их я переносить не буду, хотя они и загружаются когда редирект только на папку uploads, но правильно ли это?

Desp7:
Пробуйте Fn+F2 .

Спасибо помогло:)

кто бы мог подумать что так всё просто.

DenisVS:
Выключатель на корпусе ищите

Выключателя на корпусе нет, по крайне мере я его не нашел, это то что первым делом пришло в голову, была подобная проблема на другом ноуте.

Всего: 67