Проблема быстродействия сайта

Главные вкладки

Аватар пользователя leramulina leramulina 11 декабря 2011 в 16:15

Заказчица увидела на одном сайте альбомы и попросила сделать так же
http://maxmstudio.com/feat-wedding/nikita-viktoriya-wedding/

При открытии страницы загружается фотоальбом - горизонтальная карусель фотографий. Фотографии довольно большие. 500 пикселов по вертикали. В примере сайт был на джумле.

Я вывела так же на друпале. Через views+jCarousel
http://milena-filina.ru/wedding/lena-i-borya
http://milena-filina.ru/lovestory/liza-i-vadim

это для примера. Там все альбомы одинаково построены

Но заказчицу не устраивает то, что для просмотра фотографии открываются медленно. Сравнивает с сайтом взятым за образец. Но там в альбомах фотографий по 40, а у нее около сотни.

Сайт сейчас на хостинге РБК. Оперативки 128M. Если ли шанс, что если я перейду на хостинг с оперативкой 256М, это улучшит ситуацию? Или при таком бешеном количестве фотографий это не выход?

Заранее спасибо.

Комментарии

Аватар пользователя Shok211 Shok211 11 декабря 2011 в 16:43

Поставь скрипт предзагрузки каринок. После загрузки сайта браузер сам будет их подгружать.
Если не устраивает такой вариант AJAX вам в помощь

Аватар пользователя Erly Erly 11 декабря 2011 в 18:06

"leramulina" wrote:
Сайт сейчас на хостинге РБК. Оперативки 128M. Если ли шанс, что если я перейду на хостинг с оперативкой 256М, это улучшит ситуацию?

:D:D:D:D
ладно... девушкам это простительно Smile

на странице: http://sorgalla.com/jcarousel/
есть Carousel with dynamic content loading via Ajax
кликните и посмотрите с какими надо параметрами подключать скрипт.

Аватар пользователя leramulina leramulina 13 декабря 2011 в 11:26

Erly wrote:
"leramulina" wrote:
Сайт сейчас на хостинге РБК. Оперативки 128M. Если ли шанс, что если я перейду на хостинг с оперативкой 256М, это улучшит ситуацию?

:D:D:D:D
ладно... девушкам это простительно Smile

на странице: http://sorgalla.com/jcarousel/
есть Carousel with dynamic content loading via Ajax
кликните и посмотрите с какими надо параметрами подключать скрипт.

http://sorgalla.com/projects/jcarousel/examples/dynamic_ajax.html

кликнула. а где жа параметры?

Аватар пользователя Dmitriy.ua Dmitriy.ua 11 декабря 2011 в 18:25

Я делал так: По умолчанию вместо картинки выводится gif "ползунок" для всех изображений, а путь к самому изображению записывается в какой нибудь атрибут тега img. При переходе на следующее изображение в jCarusel есть соответствующее событие, собственно по нему этот ползунок меняется на нужное зображение. Тут: http: // dzen - design.com / projects / ziroom-beta

Аватар пользователя alex_shut alex_shut 11 декабря 2011 в 22:40

"leramulina" wrote:
Оперативки 128M.

Кошерный народ на такое даже тестовые версии вешать стисняется)

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

"Ламер" wrote:
(пост проплачен 30ю евроцентами шакалящими у посольства США)

Чтож ты себя так дешево ценишь?

Аватар пользователя divined divined 13 декабря 2011 в 13:02

256 ничего вам не даст, 1Г ничего вам не даст, хотя будет уже лучше.
Тормозить может все что угодно. Нужно использовать качественный хостинг, чтобы картинки отдавал один веб сервер, а пхп выполнял другой и все это делалось параллельно.
А еще это зависит от интернет канала.

..ПС: На сколько мне известно, все карусели уже давно используют пред-загрузку изображений.

..ПС.ПС: Голый друпал даже на 1Гиге оперативки не очень хорошо себя чувствует.
Я перешел на 8Гиг, и только тогда почувствовал как может работать дру.

Аватар пользователя divined divined 13 декабря 2011 в 13:45

В этом тарифе не сказано какая часть ресурсов сервера выделяется вам Smile

"RxB" wrote:
Прежде всего разделяйте клиентское быстродействие и серверное

Прав, в основном подобная галерея картинок зависит от быстродействия клиента.
Если у него на компе стоит 1 Гиг оперативки, а браузер Мозила может кушать до 1.5Гб, то ничего качественного клиент не увидит от смены хостинга. Или у него узкий инет канал. Или просто захламлен комп...

Аватар пользователя Erly Erly 13 декабря 2011 в 15:37

"leramulina" wrote:
http://sorgalla.com/projects/jcarousel/examples/dynamic_ajax.html

кликнула. а где жа параметры?


Ой... это моя ошибка - там только пример.
Документация здесь:
http://sorgalla.com/projects/jcarousel/

Dynamic content loading

By passing the callback function itemLoadCallback as configuration option, you are able to dynamically create

  • items for the content.

    jQuery(document).ready(function() {
    jQuery('#mycarousel').jcarousel({
    itemLoadCallback: itemLoadCallbackFunction
    });
    });

    itemLoadCallbackFunction is a JavaScript function that is called when the carousel requests a set of items to be loaded. Two parameters are passed: The instance of the requesting carousel and a flag which indicates the current state of the carousel ('init', 'prev' or 'next').

    function itemLoadCallbackFunction(carousel, state)
    {
    for (var i = carousel.first; i <= carousel.last; i++) {
    // Check if the item already exists
    if (!carousel.has(i)) {
    // Add the item
    carousel.add(i, "I'm item #" + i);
    }
    }
    };

    jCarousel contains a convenience method add() that can be passed the index of the item to create and the innerHTML string of the item to be created. If the item already exists, it just updates the innerHTML. You can access the index of the first and last visible element by the public variables carousel.first and carousel.last.

  • Аватар пользователя leramulina leramulina 13 декабря 2011 в 16:28

    Erly wrote:
    "leramulina" wrote:
    http://sorgalla.com/projects/jcarousel/examples/dynamic_ajax.html

    кликнула. а где жа параметры?


    Ой... это моя ошибка - там только пример.
    Документация здесь:
    http://sorgalla.com/projects/jcarousel/

    Dynamic content loading

    By passing the callback function itemLoadCallback as configuration option, you are able to dynamically create

  • items for the content.

    jQuery(document).ready(function() {
    jQuery('#mycarousel').jcarousel({
    itemLoadCallback: itemLoadCallbackFunction
    });
    });

    itemLoadCallbackFunction is a JavaScript function that is called when the carousel requests a set of items to be loaded. Two parameters are passed: The instance of the requesting carousel and a flag which indicates the current state of the carousel ('init', 'prev' or 'next').

    function itemLoadCallbackFunction(carousel, state)
    {
    for (var i = carousel.first; i <= carousel.last; i++) {
    // Check if the item already exists
    if (!carousel.has(i)) {
    // Add the item
    carousel.add(i, "I'm item #" + i);
    }
    }
    };

    jCarousel contains a convenience method add() that can be passed the index of the item to create and the innerHTML string of the item to be created. If the item already exists, it just updates the innerHTML. You can access the index of the first and last visible element by the public variables carousel.first and carousel.last.

  • Это мне как-то перенастраивать, получается, надо модуль?

    Аватар пользователя Erly Erly 13 декабря 2011 в 16:47

    "leramulina" wrote:
    Это мне как-то перенастраивать, получается, надо модуль?

    ну да... придётся переписать...
    хотя, точно не уверян - может там эти функции можно переопределить в tempalte.php

    сейчас просто нет времени смотреть, будет время - завтра-послезавтра гляну.