1

Тема: OS для VPS (web hosting)

Вітаю.

зіткнувся з тим, що при перевищенні тисячної відмітки кількості товарів, сайти під prestashop почали нещадно гальмувати при роботі з базами (внесення товарів, редагування, тощо)

всі можливі кеші не допомагають, тож вирішив переїхати на потужніший VPS:

2x2000 MHz
1024 MB
20 GB SSD

Який Linux зараз в тренді на сервер для веб хостинга ставити ?
На старому у мене archlinux , але він для сервера не дуже - вимагає постійної уваги , бо rolling release

на робочих компах - Mint то ж хотілося б щось  близьке.
Debian? Ubuntu_server ? other?

First, solve the problem. Then, write the code. (c)JJ

2

Re: OS для VPS (web hosting)

ping написав:

всі можливі кеші не допомагають

дану? весь хайлоад на кеші тільки і працює, а вам не допомагає.
1) поставте apc
2) поставте xhprof, подивіться де створюється максимальна затримка.

я прямо відчуваю, шо проблема з базою. проставте індекси, дайти памяті мускулу.
і більше не юзайте prestashop.

pew pew :D
Блоґ
Подякували: ping1

3 Востаннє редагувалося ping (20.07.2013 13:13:57)

Re: OS для VPS (web hosting)

miroslav.chandler написав:
ping написав:

всі можливі кеші не допомагають

дану? весь хайлоад на кеші тільки і працює, а вам не допомагає.
1) поставте apc
2) поставте xhprof, подивіться де створюється максимальна затримка.

я прямо відчуваю, шо проблема з базою. проставте індекси, дайти памяті мускулу.
і більше не юзайте prestashop.

не юзати престашоп - не вийде, бо альтернатива - MAGENTO - ще вибагливіша :(

APC поставив ще вчора , трошки попустило, але мало.

top каже, що основний час процесора йде на httpd

проблема є з MySQL, її тонко налагоджувати ще не доводилося :(
Ось що видає MySQLTuner (VPS RAM 512KiB):

-------- General Statistics --------------------------------------------------
-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.5.28-log
[OK] Operating on 32-bit architecture with less than 2GB RAM

-------- Storage Engine Statistics -------------------------------------------
[--] Status: -Archive -BDB -Federated +InnoDB -ISAM -NDBCluster 
[--] Data in MyISAM tables: 11M (Tables: 517)
[--] Data in InnoDB tables: 38M (Tables: 1563)
[--] Data in PERFORMANCE_SCHEMA tables: 0B (Tables: 17)
[!!] Total fragmented tables: 1563

-------- Security Recommendations  -------------------------------------------
[OK] All database users have passwords assigned

-------- Performance Metrics -------------------------------------------------
[--] Up for: 12s (9 q [0.750 qps], 7 conn, TX: 10K, RX: 707)
[--] Reads / Writes: 100% / 0%
[--] Total buffers: 176.0M global + 2.4M per thread (100 max threads)
[OK] Maximum possible memory usage: 419.8M (83% of installed RAM)
[OK] Slow queries: 0% (0/9)
[OK] Highest usage of available connections: 1% (1/100)
[OK] Key buffer size / total MyISAM indexes: 100.0M/3.6M
[!!] Query cache efficiency: 0.0% (0 cached / 4 selects)
[OK] Query cache prunes per day: 0
[OK] Temporary tables created on disk: 0% (0 on disk / 2 total)
[OK] Thread cache hit rate: 85% (1 created / 7 connections)
[OK] Table cache hit rate: 78% (26 open / 33 opened)
[OK] Open file limit used: 1% (20/1K)
[OK] Table locks acquired immediately: 100% (36 immediate / 36 locks)
[!!] Connections aborted: 28%
[OK] InnoDB data size / buffer pool: 38.6M/42.0M

-------- Recommendations -----------------------------------------------------
General recommendations:
    Run OPTIMIZE TABLE to defragment tables for better performance
    MySQL started within last 24 hours - recommendations may be inaccurate
    Enable the slow query log to troubleshoot bad queries
    Your applications are not closing MySQL connections properly
Variables to adjust:
    query_cache_limit (> 1M, or use smaller result sets)
First, solve the problem. Then, write the code. (c)JJ

4 Востаннє редагувалося koala (20.07.2013 14:28:03)

Re: OS для VPS (web hosting)

на робочих компах - Mint то ж хотілося б щось  близьке.

Mint - це Ubuntu з допиляною графікою, так що якщо вам зручно - беріть Ubuntu Server. Debian - теж непогано. А взагалі лінукс - то завжди лінукс, після Арча вам все має бути знайоме.

top каже, що основний час процесора йде на httpd

Перегляньте його налаштування, повимикайте (тільки обережно) непотрібні модулі... і подивіться в бік nginx.
Втім, час процесора - то ще не все. Яке навантаження на процесор? Скільки пам'яті ким зайнято?

Подякували: ping1

5

Re: OS для VPS (web hosting)

в престашоп не включайте всі кеші. Включайте компіляцію шаблонів але відключіть інші і побачите що може бути приріст. Або юзайте мемкеш для кешування сторінок товарів ;)

В престі є багато місць де оптимізувати. Але як на мене якщо налаштувати мемкеш тоді буде реально швидше працювати ;)

Подякували: ping1

6

Re: OS для VPS (web hosting)

koala написав:

на робочих компах - Mint то ж хотілося б щось  близьке.

top каже, що основний час процесора йде на httpd

Перегляньте його налаштування, повимикайте (тільки обережно) непотрібні модулі... і подивіться в бік nginx.
Втім, час процесора - то ще не все. Яке навантаження на процесор? Скільки пам'яті ким зайнято?

включив top і смикаю  в он-лайні два близьку по кількості товарів (1000 одиниць) сайти  - один під opencart, інший prestashop
presta конкретно заганяє CPU в червону зону:
%Cpu(s): 20.8 us, 79.2 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

причому найсильніше вантажить CPU саме httpd -> ps axfu:
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
...
http      5396 12.4  5.4 104024 27684 ?        S    18:19   0:35  \_ /usr/sbin/httpd -k start
http      5404 15.1  6.2  99620 31972 ?        S    18:20   0:30  \_ /usr/sbin/httpd -k start
....

оскільки при смиканні opecart цих проблем нема - значить шукати надлишково підключені модулі апача сильно сенсу нема?

nginx... здається тоді доведеться відмовитися від APC кешування?
варто? настільки сильний приріст швидкості видачі?

п.с.
тут ще питання -  чи хостер видає чесно все, що заявив...

First, solve the problem. Then, write the code. (c)JJ

7 Востаннє редагувалося koala (21.07.2013 07:56:25)

Re: OS для VPS (web hosting)

ping написав:

nginx... здається тоді доведеться відмовитися від APC кешування?

Це тільки я ось тут бачу ось це?

miroslav.chandler, вибачте, тепер буду так писати :[

8

Re: OS для VPS (web hosting)

nginx використовувати як проксі-сервер. На replace зараз так. Взагалі зараз багато так роблять.

9 Востаннє редагувалося miroslav.chandler (20.07.2013 23:07:03)

Re: OS для VPS (web hosting)

ping написав:

nginx... здається тоді доведеться відмовитися від APC кешування?

Прихований текст
https://si0.twimg.com/profile_images/2727748211/c3d0981ae770f926eedf4eda7505b006.jpeg

що вам видав xhprof?
ставте nginx

Replace написав:

nginx використовувати як проксі-сервер. На replace зараз так. Взагалі зараз багато так роблять.

ужс)


koala написав:
ping написав:

nginx... здається тоді доведеться відмовитися від APC кешування?

Це тільки я бачу?

я вже не раз думав ддоснути цей сервіс, задовбав просто)

pew pew :D
Блоґ
Подякували: koala1

10

Re: OS для VPS (web hosting)

miroslav.chandler написав:

що вам видав xhprof?
ставте nginx

- нічо не видав - ця тулза відсутня в офіційному репозиторії Archlinux, а ставити програми з AUR на робочий дійючий сервер я не люблю.

- nginx... читаю, знайомлюся. ще не ставив ніколи його.
наскільки зрозумів, суть в тому, що за рахунок менших габаритів та оптимальнішого коду , nginx швидко видасть картинки, стилі, джава-скрипти (бо яка ще статика в інтернет-магазину ?) передавши апачу запити на генерацію динамічного контенту на внутрішній IP (куди запхали апача), поки ми тягнемо статику,  апач підготує динаміку з php, передасть на nginx і той докине на веб-сторінку.
обіцяють якраз зняти пікові викиди навантаження на процесор.

First, solve the problem. Then, write the code. (c)JJ

11

Re: OS для VPS (web hosting)

ping написав:
miroslav.chandler написав:

що вам видав xhprof?
ставте nginx

- нічо не видав - ця тулза відсутня в офіційному репозиторії Archlinux, а ставити програми з AUR на робочий дійючий сервер я не люблю.

- nginx... читаю, знайомлюся. ще не ставив ніколи його.
наскільки зрозумів, суть в тому, що за рахунок менших габаритів та оптимальнішого коду , nginx швидко видасть картинки, стилі, джава-скрипти (бо яка ще статика в інтернет-магазину ?) передавши апачу запити на генерацію динамічного контенту на внутрішній IP (куди запхали апача), поки ми тягнемо статику,  апач підготує динаміку з php, передасть на nginx і той докине на веб-сторінку.
обіцяють якраз зняти пікові викиди навантаження на процесор.


Прихований текст
https://si0.twimg.com/profile_images/2727748211/c3d0981ae770f926eedf4eda7505b006.jpeg

ясне діло що відсутня. ця тулза написана фейсбуком і до арча, як і до AUR не має відношення взагалі. заставляти не буду)

нашо апач під нгінксом?)) це для мене не зрозуміло взагалі) поставте собі php-fpm і тіштеся)

без xhprof тут робити нема що. вгадувати якось не професіонально)

pew pew :D
Блоґ
Подякували: koala1

12 Востаннє редагувалося ping (22.07.2013 13:20:23)

Re: OS для VPS (web hosting)

результат:
новий VPS

2x2000 MHz
1024 MB
20 GB SSD

Debian 7  64-bit
nginx + apache2

все просто літає, схоже проблема була таки в перевантаженості процесора.
тести швидкодії дають скорочення часу завантаження сторінки в 2 -3 рази.


але nginx здорово роботи підсунув - URL rewrite для статики узгодити з кожною CMS доведеться окремо

First, solve the problem. Then, write the code. (c)JJ
Подякували: koala1

13

Re: OS для VPS (web hosting)

miroslav.chandler написав:

нашо апач під нгінксом?)) це для мене не зрозуміло взагалі) поставте собі php-fpm і тіштеся)

а як з цим:

Here is a quick list of what you need to get started with the installation of PrestaShop 1.5.
A web-host providing the following:

    PHP 5.2 or later.
    MySQL 5.0 or later.
    Better if: Unix hosting, Apache Web Server 1.3 or later, at least 64 Mb of RAM.

там багато  модулів заточені під Apache

First, solve the problem. Then, write the code. (c)JJ

14

Re: OS для VPS (web hosting)

Єдине що для nginx прийдеться допиляти, то перенести все з .htaccess(якщо такий є у вашій CMC) в настройки віртуал хосту. Побавтесь на локальному компютері, побачите що не так все страшно.

15

Re: OS для VPS (web hosting)

Якби сервером користувався лише я, то так, можна було б просто залишити Apache, а так більше 50 сайтів і користувачів велика кількість.
Головне, що nginx приймає всю статику та повільних клієнтів і серверу значно легше.
:)

16 Востаннє редагувалося ping (05.08.2013 21:48:47)

Re: OS для VPS (web hosting)

Питання по поштовому агенту.
На старому  сервері стояв postfix.
Зараз Debian і тут по змовчуванню exim4 + dovecot
Питання - міняти на постфікс чи нема сенсу?

п.с.
таки покрутився з exim4, заплутався в конфігах, плюнув і поставив postfix - він якийсь логічніший, чи шо...

First, solve the problem. Then, write the code. (c)JJ

17

Re: OS для VPS (web hosting)

ping написав:
miroslav.chandler написав:

нашо апач під нгінксом?)) це для мене не зрозуміло взагалі) поставте собі php-fpm і тіштеся)

а як з цим:

Here is a quick list of what you need to get started with the installation of PrestaShop 1.5.
A web-host providing the following:

    PHP 5.2 or later.
    MySQL 5.0 or later.
    Better if: Unix hosting, Apache Web Server 1.3 or later, at least 64 Mb of RAM.

там багато  модулів заточені під Apache

цей рідмі древній як лайно мамонта і апач 1.3.
і відчуваю залежність від апачу створює тільки .htaccess, який можна переписати під нгікс.
ваше діло)

pew pew :D
Блоґ
Подякували: ping1

18

Re: OS для VPS (web hosting)

і відчуваю залежність від апачу створює тільки .htaccess, який можна переписати під нгікс.
ваше діло)

фактично це одна проблема я б сказав )) А так нджінкс + рнрфпм ;)

Подякували: miroslav.chandler, ping2

19 Востаннє редагувалося ping (05.08.2013 21:47:04)

Re: OS для VPS (web hosting)

панове, а підкажіть - які програми моніторингу Linux VPS варті уваги?
(ніяких панелей типу webmin не передбачається)

також - ніяких особливих вимог - просто мати можливість вчасно побачити якісь аномальні сплески активності чи наближення до критичного споживання ресурсів.

п.с.
наразі дивлюся на Monit та  Munin.

п.п.с.
поставив Munin - легка і проста система індикації роботи VPS
що і вимагалося.

ну і для швидкого огляду звітності - logwatch з генерацією звіту на пошту.

First, solve the problem. Then, write the code. (c)JJ

20

Re: OS для VPS (web hosting)

вперше підключав на VPS додаткову IP адресу.
може кому згодиться (варіант для Debian):

~$ nano /etc/network/interfaces

щось подібне появиться:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

додаємо другий IP на eth0 (як віртуальний інтерфейс, бо мережева карта в нас одна - eth0 ), дописавши наступні рядки (нулі заміняємо на додатковий IP адрес):

# The secondary network interface

iface eth0:1 inet static
address [000.000.000.000]

(netmask and gateway я не прописую - вони вже визначені конфігурацією VPS при отриманні додаткової адреси, міняються з консолі управління сервером)
і піднімаємо інтерфейс:

~$ sudo ifup eth0:1

перевіряємо:

~$ sudo ifconfig -a

eth0      Link encap:Ethernet  HWaddr  ....[censored ;)] ....
          inet addr: ....[censored ;)] ....  Bcast: ....[censored ;)] ....  Mask:255.255.255.0
          inet6 addr:  ....[censored ;)] ....Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:10123869 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5769190 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3300997973 (3.0 GiB)  TX bytes:5077259186 (4.7 GiB)

eth0:1    Link encap:Ethernet  HWaddr ....[censored ;)] ....
          inet addr: ....[censored ;)] .... Bcast: ....[censored ;)] ....  Mask:255.0.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1934057 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1934057 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1558001491 (1.4 GiB)  TX bytes:1558001491 (1.4 GiB)
First, solve the problem. Then, write the code. (c)JJ