Уже второй раз сталкиваюсь с такой проблемой.
Хостинг вырубает сайт за превышение sql запросов на 103%.
После некоторых манипуляций и разговоров, стало понятно что виноват модуль экспресс заказа.
Вот проблемы, которые получались:
LA=65
PIDS=9
CPU=0%
MEM=2.7%
SQL=103%
А виноват модуль
87-7 24802 0/45/82 W 0.03 217 0 0.0 0.36 0.63 145.234.208.40 site-net.ru POST /modules/expressorder/authentication.php HTTP/1.0
всё это происходит как только экспресс заказов пользуется хотя бы 2 человека.
Не знаю как решить эту проблему.
Вот выложу часть модуля, т.к. залить архив нельзя.
Вот код который работает при вводе пользователя, authentication.php
Цитата:
<?php
/* SSL Management */
$useSSL = true;
include(dirname(__FILE__).'/../../config/config.inc.php');
include(dirname(__FILE__).'/../../init.php');
$conf = unserialize(Configuration::get('EO_CONFIG'));
if($conf['eo_country_show'] & $conf['eo_state_show']) {
$js_files = array(
_THEME_JS_DIR_.'tools/statesManagement.js'
);
}
if (isset($_POST['country']) AND is_numeric($_POST['country']))
$selectedCountry = intval($_POST['country']);
elseif (isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
{
$array = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
if (Validate::isLanguageIsoCode($array[0]))
{
$selectedCountry = Country::getByIso($array[0]);
if (!$selectedCountry)
$selectedCountry = intval(Configuration::get('PS_COUNTRY_DEFAULT'));
}
}
if (!isset($selectedCountry))
$selectedCountry = intval(Configuration::get('PS_COUNTRY_DEFAULT'));
$smarty->assign('sl_country', $selectedCountry);
$errors = array();
/* проверяем минимальный заказ */
$orderTotal = $cart->getOrderTotal();
$orderTotalDefaultCurrency = Tools::convertPrice($cart->getOrderTotal(true, 1), Currency::getCurrency(intval(Configuration::get('PS_CURRENCY_DEFAULT'))));
$minimalPurchase = floatval(Configuration::get('PS_PURCHASE_MINIMUM'));
$hideForm = false;
if ($orderTotalDefaultCurrency < $minimalPurchase) {
$errors[] = Tools::displayError('Ваш заказ меньше ').' '.Tools::displayPrice($minimalPurchase, Currency::getCurrency(intval($cart->id_currency)));
$hideForm = true;
} elseif ($orderTotal == 0) {
$errors[] = Tools::displayError('Ваша корзина пуста');
$hideForm = true;
}
$smarty->assign('hideForm', $hideForm);
$eo_displayEmail = Configuration::get('eo_displayEmail');
$eo_displayAgreement = Configuration::get('eo_displayAgreement');
$back = Tools::getValue('back');
if (!empty($back))
$smarty->assign('back', Tools::safeOutput($back));
if (Tools::isSubmit('submitAccount') && !sizeof($errors)) {
$create_account = 1;
// if (!$_POST['eo_agreement'])
больше не вмещается.
вот ссылка на архив.
https://r.mail.yandex.net/url/D0pK60rh8Cd0JK8wVJFINw,1357310665/shop.presta-blog.com%2Fget%2Dfile%2Ephp%3Fkey%3Db1e6f5ec4b000c9744c19d1678b6ccd7c095692f%2D6d1bc41382acd8f245af9d8faf695319bbb79058&id%5Forder%3D948&secure%5Fkey%3D62d34767a8040b62256e6e46800d6bef
Сообщение отредактировано shgazinur 04-01-2013 22:14 ...