Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2015, 19:05   #1
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию Оценить ресурсы vps необходимые под конкретный проект

Задача:
1) Создание платформы для тестирования проекта с максимальным приближением к реальным условиям vps хостинга на своем стационарном ПК.
2) оценить примерную нагрузку своего проекта
3)Выбрать vps хостинг под свой проект.
4) Для панелей управления vps нужен отдельный дополнительный ip( кроме ip самого сервера) ?
Скажу сразу что проектом мое произведение сложно назвать ( он еще и не закончен на данный момент)
Я не программист, а любитель. Опыта в программировании немногим больше чем ничего : Delphi7, PHP, Mysql,JS,html.
Баловался лишь с виртуальным хостингом и панелью ISPmanager Lite который был на хостинге.
Т.е. опыта администрирования vps =0;
Задумал я создать свой маленький "проект".
Проблема в причине того что я хочу именно vds а не виртуальный в том, что я предпологаю возможность высокой пиковой нагрузки на дисковую подсистему( тестов пока не проводил, но по задумке вероятность такой нагрузки велика)
Предполагается самую высокую нагрузку будут производит 1-2 php скрипта в которых имеется 2 select к Mysql, 1 Insert,1 Update. Блоки данных единицы кбайт.
Предполагается что будут довольно частые моменты когда за период в приблизительно 10 секунд будет запущено несколько сотен или даже единицы тысяч копий таких скриптов.
Понятное дело что нужны либо SDD либо для memory таблицы Mysql.
Здесь еще дополнительный вопрос, приблизительной разницы в скорости между SDD (Myisam) и memory таблицы Mysql. Но опыта у меня мало и не хочется переделывать все на Memory, но понимаю что может быть без этого никак (я понимаю что в этом случае перезагрузка vps или проблемы с оперативной памятью могут полностью стереть memory таблицу, я допускаю такую возможность).
Допустим я все таки оставил как есть на Myisam таблицах и сделал тестовый скрипт нагружающий сервер до 4*3000 приведенных запросов к серверу в течении 10 секунд.( первая нагруженная таблица будет иметь порядка 3000 записей проиндксированных по (`login`(8):
`login` VARCHAR(8)NOT NULL,
`ip` INT UNSIGNED NOT NULL ,
PRIMARY KEY (`ip`),
INDEX(`login`(8)) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci");

Вторая таблица будет иметь до сотни записей:

`login` VARCHAR(8)NOT NULL ,
`md5_password` CHAR(32)NOT NULL ,
`email` VARCHAR(128) NOT NULL ,
`status` TINYINT (1) NOT NULL ,
`1k` SMALLINT UNSIGNED NOT NULL ,
`2k` SMALLINT UNSIGNED NOT NULL ,
`3k` SMALLINT UNSIGNED NOT NULL,
`Nxoda` TINYINT UNSIGNED NOT NULL ,
`data` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
`data_xod` TIMESTAMP NOT NULL default '0000-00-00 00:00:00',
`xod_sec` TINYINT UNSIGNED NOT NULL ,
PRIMARY KEY (`login`(8)),
UNIQUE (`email`(128)))
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci");


Прихожу к вопросу №1:" Создание платформы для тестирования проекта с максимальным приближением к реальным условиям vps хостинга ".
Можно ли на моей стационарной машине под win 7 запустить одну из предлагаемых хостингом ОС linux c вирутализацией , допустим KVM и выделить для нее определенные гарантированные ресурсы( в том числе SSD ( который есть у меня в системе вместе с HDD), подключить панель управления , допустим ISPmanager ( если куплю вечную лицензию без поддержки или бесплатную Vesta панель)? Т.е сделать максимальный аналог предлогаемого хостингом тарифа?
Если это возможно, то можно ли с высокой степенью протестировать свой проект на таком сервере? это я подобрался ко второму вопросу.
Третий вопрос:" Выбрать vps хостинг под свой проект".
Посоветуйте какие у меня варианты при бюджете в 30-100 (150 если какое то интересное предложение)USD в год при названных условиях отсутствия опыта администрирования vps.
Сам вижу следующие:
1)изучать хотя бы одну выбранную OS под vps и самому учиться администрировать ( что очень ленюсь делать)
2) возможно для администрирования хватит возможностей панели управления ISP Manager lite или vesta
3) Искать хостеров с включенным минимальным администрированием.
Проект не коммерческий, так что здесь нужно какой то компромисс затрат своего времени и денег.
Я не знаю сколько мне нужно оперативной памяти для vds и другие параметры. Можно ли это определиться на этапе тестирования нагрузки тестовым скриптом?
Если у вас есть положительный опыт работы vps у конкретных хостеров пожалуйста советуйте( желательно с SSDи с высоконагруженными на дисковую подсистему проектами).
Надеюсь, что при таких пиковых нагрузках вообще возможно сделать задуманное за такой бюджет?
В общем прошу совета опытных пользователей и администраторов vps.

Последний раз редактировалось Illusiony; 18.02.2015 в 22:36.
Illusiony вне форума Ответить с цитированием
Старый 18.02.2015, 23:41   #2
Qile
 
Регистрация: 28.09.2012
Сообщений: 6
По умолчанию

1. нет, просто нет.
2. нагрузку чего? Когда?
3. сначала на локалке слепите, потом про хостинг думайте
4. нет, и администрирование через панель - не комильфо, это просто статусмонитор

моменты когда за период в приблизительно 10 секунд будет запущено несколько сотен или даже единицы тысяч копий

Тут два варианта:
1. Вы что-то не так продумали (с)
2. Не тот язык выбрали (с)

Давайте определимся, база данных - инструмент для хранения данных.
У вас много текучки? Кешируйте, в файлы, в RAM, даже БД будет кешировать кверики.

Здесь еще дополнительный вопрос, приблизительной разницы в скорости между SDD (Myisam) и memory таблицы Mysql.

О какой скорости речь, записи, чтения? Каждый storage engine дает свои плюсы и минусы, почему например mysql? есть еще mariaDB, postgre, mongo итп. Скорость зависит от многих факторов, индексов, типов данных, граммотных запросов итп.

с высокой степенью протестировать свой проект

TDD, но увы php не лучший язык для этого.

возможно для администрирования хватит возможностей панели управления ISP Manager lite или vesta

нет, просто нет.

Искать хостеров с включенным минимальным администрированием

и дергать их по всяким мелочам. А когда нужно ( в 2 часа ночи ) они могут и не помочь.

VPS - это просто компьютер с ОС.
Что вас пугает в администрировании?

Вот к примеру, (это не реклама), идешь на digitalocean, платишь 10 баксов за месяц.

1. выбираешь последнюю ubuntu
2. заходишь по ssh, меняешь пароль
3. apt-get update, apt-get install lamp-server^

10 минут и у нас vps с Mysql, php, apache2.
Qile вне форума Ответить с цитированием
Старый 20.02.2015, 19:13   #3
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

Qile, большое Вам спасибо за ответы. Некоторые пояснения на ваши вопросы и мои новые вопросы ниже:

"3. сначала на локалке слепите, потом про хостинг думайте"
Если вы имеете ввиду сам проект на локалке то я его практически слепил на denver. А если имеете ввиду Серверную ОС, то да это еще только в планах( для изучения самой ОС)

"моменты когда за период в приблизительно 10 секунд будет запущено несколько сотен или даже единицы тысяч копий

Тут два варианта:
1. Вы что-то не так продумали (с)
2. Не тот язык выбрали (с)"

Возможно и то и другое, а если конкретнее что именно будет происходить:
за примерно 10 секунд будут попытки со стороны людей(их браузеров) (извините за отстойные формулировки) до 1000-3000 человек запустить скрипт php в котором 4 запроса к MySql (две приведенные выше таблицы). сами запросы простые и ответы простые. Скрипт загружает еще картинки на суммарным размером около 60 кбайт. Такая нагрузка предположительно может держаться до 30-60 минут в сутки.
Может ли Vps за 30-100 USD в год (с русскоязычным саппортом и серверами желательно в России, Ураине или Беларуси для уменьшения пинга) при таблицах в Ram и кешированных рисунках выдержать такую нагрузку?


"Давайте определимся, база данных - инструмент для хранения данных.
У вас много текучки? Кешируйте, в файлы, в RAM, даже БД будет кешировать кверики."

Картинки можно полностью закешировать memcached ( никогда не пользовался, но не о этом сейчас речь)
Вопрос как мне в RAM таблицы разместить?
варианты:
1)переделать из myisam в memory таблицы
2)может быть есть другой вариант как то через тот же memcached или другой инструмент чтобы не переделывать myisam, а как то перенаправить с HDD на RAM ?


"Здесь еще дополнительный вопрос, приблизительной разницы в скорости между SDD (Myisam) и memory таблицы Mysql.

О какой скорости речь, записи, чтения? Каждый storage engine дает свои плюсы и минусы, почему например mysql? есть еще mariaDB, postgre, mongo итп. Скорость зависит от многих факторов, индексов, типов данных, граммотных запросов итп."

Я пробовал работать только с Mysql на переделку и изучения других времени нету.
Скорость имеется ввиду по всем отдельно показателям ( чтение ,запись и т.д.) либо среднее значения всех параметров при всех прочих равных условиях ( если сделать идентичные таблицы в memory MySql и MyIsam на SSD, с индексацией полей по которым будут происходить запросы)

"Искать хостеров с включенным минимальным администрированием

и дергать их по всяким мелочам. А когда нужно ( в 2 часа ночи ) они могут и не помочь.

VPS - это просто компьютер с ОС.
Что вас пугает в администрировании?"


У меня нет никакого опыта работы с серверными ОС, так что это для меня темный лес пока что.
У меня выбор либо взять одну популярную у хостинг провайдеров серверную OC linux и изучать ее хотя бы на уровне установки удаления нужных мне приложений модулей и т.д.( то что мне обязательно понадобится) без углубленного изучения либо доставать админов и платить 2х+ больше за хостинг с минимальным администрированием чтобы они это делали для меня.
Как думаете для не программиста, как любитель занимался Delphi7, PHP, Mysql,JS,html. На JS с помощью фреймворка максимальное количество строк достигало 3к, далее у меня был вынос мозга так как я мало использую ООП больше процедурный стиль все ииза тогоже- я не программист( самоучка) смогу ли я разобраться в серверной OC на данном уровне что описал? Я конечно, понимаю что Вы можете ответить "Я не знаю что вы именно разрабатывали- программировали чтобы оценить ваши возможности",но все же.


"Вот к примеру, (это не реклама), идешь на digitalocean, платишь 10 баксов за месяц.

1. выбираешь последнюю ubuntu
2. заходишь по ssh, меняешь пароль
3. apt-get update, apt-get install lamp-server^

10 минут и у нас vps с Mysql, php, apache2."

Это хостинг без русского саппорта. Для меня языковой барьер имеет значение из- за того что нету опыта администрирования, и если появятся вопросы сформулировать их будет сложно для меня на английском.


Если используется виртуализация KVM или Xen, то я могу полностью загружать все свои ресурсы сервера на максимум без обеспокоенности со стороны хостига? Т.е . страдать буду только я от тормазов если сильно нагружаю свой сервер без последствий для соседей?

Последний раз редактировалось Illusiony; 20.02.2015 в 22:54.
Illusiony вне форума Ответить с цитированием
Старый 21.02.2015, 15:02   #4
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Я сильно не вчитывался в Ваш пост, но хотел бы сказать следующее: слишком много букв. Вы начните с чего нибудь, к примеру (не реклама) firstvds.ru возьмите там тариф старт поставьте Linux какой по вкусу я например выбрал ubuntu поставьте php mysql и прочее (статей множество) ставиться не все не так сложно, можете поставить vesta cp (vestacp.com) достаточно удобная панель управления (бесплатная). Замечу что для все что то когда было темным лесом, главное начать! по факту возникновения вопросов есть гугл и форум.

Так что вся эта демагогия смогу - не смогу разобраться, я не программист, раздражает если честно, как говорится не попробуешь не узнаешь, было бы желание.

По поводу баз данных, что то вы замарочились через чур.. не думаю что ваши запросы убьют мускуль, в крайнем случаи можно использовать memcache.

Но повторю еще раз купить vds и пробуйте и еще раз пробуйте набирайтесь опыта! затем можете проводить нагрузочное тестирование тем же jmeter
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 21.02.2015, 15:30   #5
Qile
 
Регистрация: 28.09.2012
Сообщений: 6
По умолчанию

Скрипт загружает еще картинки на суммарным размером около 60 кбайт.

Если вы имеете ввиду что сервер отдает браузеру картинки, и если они неизменны ( или редко меняются ), то бразуер будет их локально кешировать.

Может ли Vps за 30-100 USD в год

В России не хостился, но цены везде более менее похожи, за 10 usd в месяц можно купить 1gb RAM 1 ядро и 20-30 гб hdd/ssd почти везде. Где-то есть дешевле, но помните, что цена соответствует качеству.

Может ли Vps за 30-100 USD в год (с русскоязычным саппортом и серверами желательно в России, Ураине или Беларуси для уменьшения пинга) при таблицах в Ram и кешированных рисунках выдержать такую нагрузку?

Честно говоря, не вижу страшной нагрузки на сервер, (4x3000) / 10 = 12000 / 10 = 1200 q/s в среднем, mysql точно справится с этим. Главное избегать table-level locking при insert и иметь быстрые индексы.

Но вот справится ли простенький vps за 10 usd без неприятных задержек - не уверен, лучше смотрите в сторону 2-4 ядер, 2-4 г ram.

Картинки можно полностью закешировать memcached ( никогда не пользовался, но не о этом сейчас речь)

Не делайте так, linux кеширует статичные файлы и так + php даст значительную задержку. Для кеша картинок можно использовать прокси для статики вроде squid или varnish.

может быть есть другой вариант как то через тот же memcached или другой инструмент чтобы не переделывать myisam, а как то перенаправить с HDD на RAM ?

Вы не очень понимаете для чего они нужны, мой совет - выкиньте из головы. RAM тоже не резиновый. Индексы в таких таблицах только хэшовые, что несет в себе большие ограничения по исопльзованию.

"Здесь еще дополнительный вопрос, приблизительной разницы в скорости между SDD (Myisam) и memory таблицы Mysql.

Не сравнивайте, вообще разные вещи. Почитайте для чего нужны memory, для чего myisam.

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

Я считаю что вы сможете без пролем разобраться, особенно если есть опыт в программировании, linux - не сложная ОС. Единственное что пугает людей сначала - консоль и отсутствие графической оболочки ( а на серверах ее нету ). Но выучите 5-10 основных команд и забудете что такое окошки и кнопочки. Единственное что нужно знать английский.

Попробуйте запустить cmd на windows, погулять по папкам с помощью cd, это тоже самое.

Ну и наконец, можете не использовать сильно специализированую серверную ось, установите ubuntu. Для нее в инернете можно найти любую инфу для новичков.

Это хостинг без русского саппорта. Для меня языковой барьер имеет значение из- за того что нету опыта администрирования, и если появятся вопросы сформулировать их будет сложно для меня на английском.

Опять, же это не реклама, а пример насколько сегодня просто установить и натсроить сервер.
Вот хорошая статья по выбору vps - http://habrahabr.ru/post/227443/

Если используется виртуализация KVM или Xen, то я могу полностью загружать все свои ресурсы сервера на максимум без обеспокоенности со стороны хостига? Т.е . страдать буду только я от тормазов если сильно нагружаю свой сервер без последствий для соседей?

На виртуальной машине вам выделяют ваши личные ресурсы, там нет соседей. У вас есть столько ресурсов за сколько вы заплатили, не меньше и не больше.
Qile вне форума Ответить с цитированием
Старый 21.02.2015, 16:36   #6
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

Qile если мне не изменяет память то в Хроме локальное хранилище всегото 5 мбайт и чтобы он это делал нужно вроде в коде дописывать об этом.

"Не делайте так, linux кеширует статичные файлы и так + php даст значительную задержку. Для кеша картинок можно использовать прокси для статики вроде squid или varnish."

Всмысле linux кеширует статику сам? на HDD или в RAM? А PHP даст задержку из-за того что линукс уже и так закешировал?

А что если свою статитку-картитинки ( около 550 штук суммарным размером 10-20 мбайт) просто разместить на каком либо ресурсе хранения изображений? или в этом случае сами сервисы при такой нагрузке будут тормозить или отказывать в доступе или путь к файлам будет хаотичным для использования?

SDD (Myisam) и memory таблицы Mysql
Если я хочу узнать что лучше будет для моего проекта мне придется сделать оба варианта и протестить?

"На виртуальной машине вам выделяют ваши личные ресурсы, там нет соседей. У вас есть столько ресурсов за сколько вы заплатили, не меньше и не больше."
Немного не понял ответа так как , например,у виртуализации openvz ресурсы не являются полностью независимыми на VPS. Я же не собираю заказывать отдельный сервер.


"Главное избегать table-level locking при insert и иметь быстрые индексы."

Значит ли это что мне обязательно необходимо вместо MAYISAM использовать InnoDB?

Последний раз редактировалось Illusiony; 21.02.2015 в 19:55.
Illusiony вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите оценить проект Simply-Art Фриланс 14 12.05.2014 18:14
Помогите оценить проект (Delphi)! nikolai_P Фриланс 4 14.02.2009 11:39
Помогите оценить проект koljsch Свободное общение 2 13.02.2009 13:27
Помогите оценить проект TominPasha Фриланс 3 21.08.2008 13:12
Помогите оценить проект TominPasha Свободное общение 0 01.08.2008 06:30