Skocz do zawartości
333eee

Dedyk dużej strony: Load Average 125.87 ;] optymalizacja !

Polecane posty

Witam

 

Pomóżcie w optymalizacji lub/i wyborze nowego serwera dedykowanego!

 

Oto obecne parametry:

AMD Athlon 64 X2 Dual Core Processor 5600+

2 GB RAM DDR2

Dyski: 2 x 250 GB

Transfer miesięcy: 1 TB (czasem jest przekroczony)

 

Serwer jest przeznaczony tylko dla 1 strony opartej na systemie DLE v7.5 (Datalife Engine)

Serwer jest wykorzystywany w ponad 100%, strona dobrze chodzi w nocy i rano, później w godzinach szczytu jest tragicznie, ładuje się wolno, nie zawsze a 1 razom (czasem trzeba odświeżacz stronę kilku krotnie, aby uzyskać połączanie)

Baza danych MySQL przekracza 500 Mb

Online na stronie wg. statystyk liveinternet sięga 2000

 

Dziś zobaczyłem chyba rekordowy wynik: Load Average 125.87, 82.42, 55.10

Normalnie jest to: 45.11, 38.02, 41.16

 

Plik my.cnf

[mysqld]
local-infile=0
skip-locking
skip-innodb
query_cache_limit=1M
query_cache_size=32M
query_cache_type=1
max_connections=500
interactive_timeout=100
wait_timeout=100
connect_timeout=10
thread_cache_size=128
key_buffer=16M
join_buffer=1M
max_allowed_packet=16M
table_cache=1024
record_buffer=1M
sort_buffer_size=2M
read_buffer_size=2M
max_connect_errors=10
# Try number of CPU's*2 for thread_concurrency
thread_concurrency=4
myisam_sort_buffer_size=64M
server-id=1
long_query_time=5

[safe_mysqld]
err-log=/var/log/mysqld.log
open_files_limit=8192

[mysqldump]
quick
max_allowed_packet=16M

[mysql]
no-auto-rehash
#safe-updates

[isamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M

[myisamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M

[mysqlhotcopy]
interactive-timeout[mysqld]

 

Wynik tuning-primer

        -- MYSQL PERFORMANCE TUNING PRIMER --
            - By: Matthew Montgomery -

MySQL Version 4.1.10-standard i686

./tuning-primer.sh: line 407: bc: command not found
./tuning-primer.sh: line 408: bc: command not found
./tuning-primer.sh: line 409: bc: command not found
./tuning-primer.sh: line 410: bc: command not found
./tuning-primer.sh: line 411: bc: command not found
./tuning-primer.sh: line 412: bc: command not found
Uptime =  days  hrs  min  sec
Avg. qps = 43
Total Questions = 13547226
Threads Connected = 85

Server has been running for over 48hrs.
It should be safe to follow these recommendations

To find out more information on how each of these
runtime variables effects performance visit:
[url="http://dev.mysql.com/doc/refman/4.1/en/server-system-variables.html"]http://dev.mysql.com/doc/refman/4.1/en/ser...-variables.html[/url]
Visit [url="http://www.mysql.com/products/enterprise/advisors.html"]http://www.mysql.com/products/enterprise/advisors.html[/url]
for info about MySQL's Enterprise Monitoring and Advisory Service

SLOW QUERIES
The slow query log is NOT enabled.
Current long_query_time = 5 sec.
You have 279911 out of 13547290 that take longer than 5 sec. to complete
Your long_query_time seems to be fine

BINARY UPDATE LOG
The binary update log is NOT enabled.
You will not be able to do point in time recovery
See [url="http://dev.mysql.com/doc/refman/4.1/en/point-in-time-recovery.html"]http://dev.mysql.com/doc/refman/4.1/en/poi...e-recovery.html[/url]

WORKER THREADS
Current thread_cache_size = 128
Current threads_cached = 94
Current threads_per_sec = 0
Historic threads_per_sec = 0
Your thread_cache_size is fine

MAX CONNECTIONS
Current max_connections = 500
Current threads_connected = 80
Historic max_used_connections = 422
The number of used connections is 84% of the configured maximum.
Your max_connections variable seems to be fine.

MEMORY USAGE
./tuning-primer.sh: line 1226: bc: command not found
./tuning-primer.sh: line 1227: bc: command not found
./tuning-primer.sh: line 1251: bc: command not found
./tuning-primer.sh: line 1254: bc: command not found
./tuning-primer.sh: line 1255: bc: command not found
./tuning-primer.sh: line 1257: bc: command not found
./tuning-primer.sh: line 1259: [: -gt: unary operator expected
./tuning-primer.sh: line 369: [: max_memoryHR: integer expression expected
./tuning-primer.sh: line 375: [: max_memoryHR: integer expression expected
./tuning-primer.sh: line 381: [: max_memoryHR: integer expression expected
./tuning-primer.sh: line 388: export: `=max_memoryHR': not a valid identifier
Max Memory Ever Allocated :  bytes
./tuning-primer.sh: line 369: [: per_thread_buffersHR: integer expression expected
./tuning-primer.sh: line 375: [: per_thread_buffersHR: integer expression expected
./tuning-primer.sh: line 381: [: per_thread_buffersHR: integer expression expected
./tuning-primer.sh: line 388: export: `=per_thread_buffersHR': not a valid identifier
Configured Max Per-thread Buffers :  bytes
./tuning-primer.sh: line 369: [: global_buffersHR: integer expression expected
./tuning-primer.sh: line 375: [: global_buffersHR: integer expression expected
./tuning-primer.sh: line 381: [: global_buffersHR: integer expression expected
./tuning-primer.sh: line 388: export: `=global_buffersHR': not a valid identifier
Configured Max Global Buffers :  bytes
./tuning-primer.sh: line 369: [: total_memoryHR: integer expression expected
./tuning-primer.sh: line 375: [: total_memoryHR: integer expression expected
./tuning-primer.sh: line 381: [: total_memoryHR: integer expression expected
./tuning-primer.sh: line 388: export: `=total_memoryHR': not a valid identifier
Configured Max Memory Limit :  bytes
./tuning-primer.sh: line 350: bc: command not found
Physical Memory :  G
Max memory limit seem to be within acceptable norms

KEY BUFFER
./tuning-primer.sh: line 668: bc: command not found
./tuning-primer.sh: line 669: bc: command not found
./tuning-primer.sh: line 350: bc: command not found
Current MyISAM index space =  M
./tuning-primer.sh: line 350: bc: command not found
Current key_buffer_size =  M
Key cache miss rate is 1 : 414
Key buffer free ratio =  %
./tuning-primer.sh: line 706: [: -le: unary operator expected
./tuning-primer.sh: line 710: [: -le: unary operator expected
Your key_buffer_size seems to be fine

QUERY CACHE
./tuning-primer.sh: line 741: bc: command not found
./tuning-primer.sh: line 742: bc: command not found
Query cache is enabled
./tuning-primer.sh: line 350: bc: command not found
Current query_cache_size =  M
./tuning-primer.sh: line 350: bc: command not found
Current query_cache_used =  M
./tuning-primer.sh: line 350: bc: command not found
Current query_cache_limit =  M
Current Query cache Memory fill ratio =  %
./tuning-primer.sh: line 350: bc: command not found
Current query_cache_min_res_unit =  K
./tuning-primer.sh: line 755: bc: command not found
./tuning-primer.sh: line 756: bc: command not found
./tuning-primer.sh: line 757: [: -gt: unary operator expected
./tuning-primer.sh: line 764: [: -le: unary operator expected
MySQL won't cache query results that are larger than query_cache_limit in size

SORT OPERATIONS
./tuning-primer.sh: line 350: bc: command not found
Current sort_buffer_size =  M
./tuning-primer.sh: line 350: bc: command not found
Current read_rnd_buffer_size =  K
Sort buffer seems to be fine

JOINS
./tuning-primer.sh: line 350: bc: command not found
Current join_buffer_size =  M
You have had 0 queries where a join could not use an index properly
Your joins seem to be using indexes properly

OPEN FILES LIMIT
Current open_files_limit = 2558 files
The open_files_limit should typically be set to at least 2x-3x
that of table_cache if you have heavy MyISAM usage.
Your open_files_limit value seems to be fine

TABLE CACHE
Current table_cache value = 1024 tables
You have a total of 169 tables
You have 799 open tables.
The table_cache value seems to be fine

TEMP TABLES
./tuning-primer.sh: line 350: bc: command not found
Current max_heap_table_size =  M
./tuning-primer.sh: line 350: bc: command not found
Current tmp_table_size =  M
Of 280 temp tables, 0% were created on disk
Effective in-memory tmp_table_size is limited to max_heap_table_size.
Created disk tmp tables ratio seems fine

TABLE SCANS
./tuning-primer.sh: line 350: bc: command not found
Current read_buffer_size =  M
Current table scan ratio = 758 : 1
read_buffer_size seems to be fine

TABLE LOCKING
Current Lock Wait ratio = 1 : 1
You may benefit from selective use of InnoDB.
If you have long running SELECT's against MyISAM tables and perform
frequent updates consider setting 'low_priority_updates=1'

Serwer był uruchomiony ponad 48 godzin.

 

 

Proszę o pomoc! jeżeli mam podać jeszcze jakieś dane to proszę pisać co dokładnie i podać np. komendę jeżeli jest konieczna, ponieważ nie znam się na wszystkim w tej dziedzinie.

 

Oczywiście mogę też zmienić serwer tylko proszę jakiś doradzić dobry w rozsądnej cenie (w granicach 450 zł) transfer 1 TB albo większy, i więcej RAM.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość patrys

Ten skrypt to "czołg", proponuje jego aktualizacji, aczkolwiek i tak pewnie maszyna padnie.

 

ps. jak podajesz wynik skryptu korzystającego z "bc" to je zainstaluj i dopiero daj out

apt-get install bc ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jeżeli jest to strona oparta na php to radziłbym dograć do php coś co uprości serwowanie treści dynamicznej.

Co to będzie to już wolna ręka ... ale radziłbym xcache lub apc.

Co do MySQL to jest ogromne pole do popisu a takim tuning-primerem nie powinno się do końca sugerować.

Zawsze może on coś podpowiedzieć, ale lepiej się na nim w 100% nie opierać.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Jeżeli jest to strona oparta na php to radziłbym dograć do php coś co uprości serwowanie treści dynamicznej.

Co to będzie to już wolna ręka ... ale radziłbym xcache lub apc.

 

Masz jakieś instrukcje jak to się instaluje i co trzeba zmienić itp. ?

 

Poprawiony Tuning primer (ale odpalony po około 30 godzinach od reboota):

 

        -- MYSQL PERFORMANCE TUNING PRIMER --
            - By: Matthew Montgomery -

MySQL Version 4.1.10-standard i686

Uptime = 1 days 6 hrs 10 min 38 sec
Avg. qps = 56
Total Questions = 6158601
Threads Connected = 105

Warning: Server has not been running for at least 48hrs.
It may not be safe to use these recommendations

To find out more information on how each of these
runtime variables effects performance visit:
[url="http://dev.mysql.com/doc/refman/4.1/en/server-system-variables.html"]http://dev.mysql.com/doc/refman/4.1/en/ser...-variables.html[/url]
Visit [url="http://www.mysql.com/products/enterprise/advisors.html"]http://www.mysql.com/products/enterprise/advisors.html[/url]
for info about MySQL's Enterprise Monitoring and Advisory Service

SLOW QUERIES
The slow query log is NOT enabled.
Current long_query_time = 5 sec.
You have 106370 out of 6158621 that take longer than 5 sec. to complete
Your long_query_time seems to be fine

BINARY UPDATE LOG
The binary update log is NOT enabled.
You will not be able to do point in time recovery
See [url="http://dev.mysql.com/doc/refman/4.1/en/point-in-time-recovery.html"]http://dev.mysql.com/doc/refman/4.1/en/poi...e-recovery.html[/url]

WORKER THREADS
Current thread_cache_size = 128
Current threads_cached = 41
Current threads_per_sec = 0
Historic threads_per_sec = 0
Your thread_cache_size is fine

MAX CONNECTIONS
Current max_connections = 500
Current threads_connected = 87
Historic max_used_connections = 414
The number of used connections is 82% of the configured maximum.
Your max_connections variable seems to be fine.

MEMORY USAGE
Max Memory Ever Allocated : 2.22 G
Configured Max Per-thread Buffers : 2.61 G
Configured Max Global Buffers : 58 M
Configured Max Memory Limit : 2.67 G
Physical Memory : 1.94 G

Max memory limit exceeds 90% of physical memory

KEY BUFFER
Current MyISAM index space = 189 M
Current key_buffer_size = 16 M
Key cache miss rate is 1 : 291
Key buffer free ratio = 0 %
You could increase key_buffer_size
It is safe to raise this up to 1/4 of total system memory;
assuming this is a dedicated database server.

QUERY CACHE
Query cache is enabled
Current query_cache_size = 32 M
Current query_cache_used = 1019 K
Current query_cache_limit = 1 M
Current Query cache Memory fill ratio = 3.11 %
Current query_cache_min_res_unit = 4 K
Your query_cache_size seems to be too high.
Perhaps you can use these resources elsewhere
MySQL won't cache query results that are larger than query_cache_limit in size

SORT OPERATIONS
Current sort_buffer_size = 2 M
Current read_rnd_buffer_size = 256 K
Sort buffer seems to be fine

JOINS
Current join_buffer_size = 1.00 M
You have had 0 queries where a join could not use an index properly
Your joins seem to be using indexes properly

OPEN FILES LIMIT
Current open_files_limit = 2558 files
The open_files_limit should typically be set to at least 2x-3x
that of table_cache if you have heavy MyISAM usage.
Your open_files_limit value seems to be fine

TABLE CACHE
Current table_cache value = 1024 tables
You have a total of 169 tables
You have 825 open tables.
The table_cache value seems to be fine

TEMP TABLES
Current max_heap_table_size = 16 M
Current tmp_table_size = 32 M
Of 0 temp tables, 0% were created on disk
Effective in-memory tmp_table_size is limited to max_heap_table_size.
Created disk tmp tables ratio seems fine

TABLE SCANS
Current read_buffer_size = 1 M
Current table scan ratio = 644 : 1
read_buffer_size seems to be fine

TABLE LOCKING
Current Lock Wait ratio = 1 : 1
You may benefit from selective use of InnoDB.
If you have long running SELECT's against MyISAM tables and perform
frequent updates consider setting 'low_priority_updates=1'

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość patrys

Zrób upgrade do 8.0, bo te wszystkie DLE są strasznie mało optymalne dla mysql.

 

ps. zwiększ key_buffer_size

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Zrób upgrade do 8.0, bo te wszystkie DLE są strasznie mało optymalne dla mysql.

 

ps. zwiększ key_buffer_size

 

Jutro zrobię aktualizację, a na ile zwiększyć key_buffer_size ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

200 mb - to raczej nie rozwiaze twojego problemu, w peak time sam mysql zajmuje Ci ok 2 Gb ramu.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Masz jakieś instrukcje jak to się instaluje i co trzeba zmienić itp. ?

 

http://xcache.lighttpd.net/wiki/InstallFromSource

W przypadku APC

pecl install apc

Jeżeli nie zadziała to ręcznie skompilować ze źródeł.

Jeżeli używasz Debiana to przed dograniem czy to eacceleratora czy to xcache czy to apc puknij apt-get install php5-dev automake autoconf build-essential

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Jak sprawdzić czy to wszystko mam?, i jak to zainstalować jak tego nie mam??

Jak przy ./configure nie wywali ci żadnych błędów to znaczy, że masz wszystko :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Jeżeli używasz Debiana to przed dograniem czy to eacceleratora czy to xcache czy to apc puknij apt-get install php5-dev automake autoconf build-essential

 

Tak mam Debiana, ale napisałeś "...install php5-dev..." czy ta piątka to wersja php? jeżeli tak to ja obecnie mam 4.4.7, więc czy coś się może zepsuć, jak się zainstaluje 5 ?

 

I który lepszy xcache czy eaccelerator??

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość patrys

Zrób php5 i daj xcache, lekko powinno przyśpieszyć.

Ciężko mówić który lepszy, gdyby skrypt miał wdrożone klasy do XCache, to na pewno by ono było wydajniejsze.

Ale z tego co się orientuje DataLife Engine używa swojego cache na plikach nie stosując nic zew do cache,

nie ma też memcached co w jego wypadku by się przydało.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Niestety lecz

apt-get install php5-dev automake autoconf build-essential

 

Nie działa :/

a dokładniej:

apt-get install php5-dev automake autoconf build-essential

 

Reading package lists... Done

Building dependency tree... Done

The following extra packages will be installed:

automake1.4 autotools-dev dpkg-dev file libmagic1 libtool perl perl-modules php5-common

shtool

Suggested packages:

autoconf2.13 autobook autoconf-archive gnu-standards autoconf-doc automake1.10-doc

debian-keyring libtool-doc g77 fortran77-compiler gcj libterm-readline-gnu-perl

libterm-readline-perl-perl

Recommended packages:

automaken bzip2 libltdl3-dev perl-doc

The following NEW packages will be installed:

autoconf automake automake1.4 autotools-dev build-essential dpkg-dev file libmagic1

libtool perl perl-modules php5-common php5-dev shtool

0 upgraded, 14 newly installed, 0 to remove and 1 not upgraded.

Need to get 4130kB/8550kB of archives.

After unpacking 37.3MB of additional disk space will be used.

Do you want to continue [Y/n]? y

Err http://security.debian.org etch/updates/main php5-common 5.2.0-8+etch7

404 Not Found [iP: 212.211.132.32 80]

Err http://security.debian.org etch/updates/main php5-dev 5.2.0-8+etch7

404 Not Found [iP: 212.211.132.32 80]

Err http://ftp.freenet.de etch/main perl 5.8.8-7

404 Not found [iP: 194.97.2.70 80]

Failed to fetch http://ftp.freenet.de/debian/pool/main/p/p....8.8-7_i386.deb 404 Not found [iP: 194.97.2.70 80]

Failed to fetch http://security.debian.org/pool/updates/ma...+etch7_i386.deb 404 Not Found [iP: 212.211.132.32 80]

Failed to fetch http://security.debian.org/pool/updates/ma...+etch7_i386.deb 404 Not Found [iP: 212.211.132.32 80]

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

 

Help...

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

./tuning-primer.sh: line 350: bc: command not found

 

Rotfl. Gość nie potrafi czytać ze zrozumieniem, a wy mu radzicie co ma zrobić.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Lepiej daj komus dostep do serwera , zaplac X i masz po klopocie. Nie majac pojecia co robisz sa duze szanse ze dzieki twoim dzialaniom bedzie gorzej a nie lepiej.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Wszystko zrobione, wydaje mi się ze strona chodzi może o 10% szybciej, ale o ile naprawdę przekonam się w godzinach szczytu czyli wieczorem.

 

PS. Jak sprawdzić czy ten xcache działa? I gdzie przechowuje pliki cache?

 

Obecny plik php.ini:

[xcache-common]

;; install as zend extension (recommended), normally "$extension_dir/xcache.so"

zend_extension = /usr/local/lib/php/extensions/non-debug-non-zts-xxx/xcache.so

; zend_extension_ts = /usr/local/lib/php/extensions/non-debug-zts-xxx/xcache.so

;; For windows users, replace xcache.so with php_xcache.dll

zend_extension_ts = c:/php/extensions/php_xcache.dll

;; or install as extension, make sure your extension_dir setting is correct

; extension = xcache.so

;; or win32:

; extension = php_xcache.dll

 

[xcache.admin]

xcache.admin.enable_auth = On

xcache.admin.user = "mOo"

; xcache.admin.pass = md5($your_password)

xcache.admin.pass = ""

 

[xcache]

; ini only settings, all the values here is default unless explained

 

; select low level shm/allocator scheme implemenation

xcache.shm_scheme = "mmap"

; to disable: xcache.size=0

; to enable : xcache.size=64M etc (any size > 0) and your system mmap allows

xcache.size = 64M

; set to cpu count (cat /proc/cpuinfo |grep -c processor)

xcache.count = 1

; just a hash hints, you can always store count(items) > slots

xcache.slots = 8K

; ttl of the cache item, 0=forever

xcache.ttl = 0

; interval of gc scanning expired items, 0=no scan, other values is in seconds

xcache.gc_interval = 0

 

; same as aboves but for variable cache

xcache.var_size = 0M

xcache.var_count = 1

xcache.var_slots = 8K

; default ttl

xcache.var_ttl = 0

xcache.var_maxttl = 0

xcache.var_gc_interval = 300

 

xcache.test = Off

; N/A for /dev/zero

xcache.readonly_protection = Off

; for *nix, xcache.mmap_path is a file path, not directory.

; Use something like "/tmp/xcache" if you want to turn on ReadonlyProtection

; 2 group of php won't share the same /tmp/xcache

; for win32, xcache.mmap_path=anonymous map name, not file path

xcache.mmap_path = "/dev/zero"

 

 

; leave it blank(disabled) or "/tmp/phpcore/"

; make sure it's writable by php (without checking open_basedir)

xcache.coredump_directory = ""

 

; per request settings

xcache.cacher = On

xcache.stat = On

xcache.optimizer = Off

 

[xcache.coverager]

; per request settings

; enable coverage data collecting for xcache.coveragedump_directory and xcache_coverager_start/stop/get/clean() functions (will hurt executing performance)

xcache.coverager = Off

 

; ini only settings

; make sure it's readable (care open_basedir) by coverage viewer script

; requires xcache.coverager=On

xcache.coveragedump_directory = ""

 

Coś zmienić w ustawieniach ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

dodatkowo mozesz zastosowac polaczenie nginx -> apacha. nginx wszystkie pliki statyczne, przez apache leca tresci dynamiczne. jest to pare minut roboty dla jednej strony, a w zaleznosci od tresci, serwer nagle moze obsluzyc znacznie wiecej polaczen. Ja na najtanszym kimsufi z ovh nie mam problemow zadnych z kiluset userami naraz.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość N3T5kY
dodatkowo mozesz zastosowac polaczenie nginx

Albo całość na cherokee?

 

A info o xcache masz w phpinfo:

 

<?php
phpinfo();
?>

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

albo Lighttpd + eAccelerator.. całkiem dobre połaczenie

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Mysle ze takie rady niewiele tej osobie pomoga. JEsli ktos nie daje sobie rady z zainstalowaniem cachowania to jak ma zmienic serwer www na inny ? No chance.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

na początek przepraszam, że dołączam się do tego tematu ;)

 

Mam taki problem przeszedłem na nowego dedyka z Lighttpd + eAccelerator.

I jest problem z DLE(nawet zmiana innej wersji nie pomaga) A mianowicie mam ustawione w skrypcie, żeby obrazki się zmniejszały jak przekroczą AAXAA

 

no, ale właśnie ta opcja nie działa i wszystkie stare artykuły mają zmniejszone obrazki(bo tak się zapisało w bazie danych), a po dodaniu nowych, albo edycji starych już nie działa. Dlaczego tak się może stać nawet na innym DLE? nie wiem, na jakiej zasadzie to działa, ale chyba tak, że

skrypt "widzi" obrazek i dodaje do kodu

 

<img src="link" style="border: none;" width='500x660' height='651' onmouseover="this.style.cursor='pointer';" onclick="return hs.expand(this, { src: 'link' });" alt='tit' title='tit' />

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

@asusek

 

width='500x660'

 

jest wiele dziwnych rzeczy, ale czegoś takiego w życiu nie widziałem ;]

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×