Category Archives: Kinokpk.com releaser

Kinokpk.com releaser + Smarty + Parsers!

Сегодня дошли руки прикрутить смарти к движку. Работа облегчилась конкретно. Правда, какой-то косяк с путями тем, но думаю это я доки не дочитал.

Еще замутил парсер рутора:

Также сегодня вторник, а значит приехала Аня. +++я уже с ней общаюсь по асе. Надеюсь, завтра будет прекрасный день!

(C) ZonD80

Люди

Вот они – мысл о вечном в 1:20 ночи. Ужасная скука, даже переустановка убунты не подняла мое настроение. Сегодня всю ночь занимался написанием, вернее, отладкой граффити для сайта. Получилось “как в говне”, если, конечно, вы понимаете мой контекст. Также поправил плагин спойлера, теперь он спрашивает; как назвать то, что вы хотите скрыть….
А скрыл бы я многое, да сил уж больше нет. Хочется приключений, но добрых и приятных, а не постсессионных проблем. так-то!

(C) ZonD80

Прекрасный конфиг для mysql. Трекер живет:)


# Example MySQL config file for very large systems.
#
# This is for a large system with memory of 1G-2G where the system runs mainly
# MySQL.
#
# You can copy this file to
# /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is /var/lib/mysql) or
# ~/.my.cnf to set user-specific options.
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "--help" option.

# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
max_connections = 2048
log-error = /var/log/mysqld.log
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-locking
key_buffer = 384M
max_allowed_packet = 1M
table_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 64
query_cache_size = 32M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8
thread_stack = 192K

# Query cache, disabled for now
query_cache_size = 0
query_cache_type = 1
query_cache_limit = 2M

# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (via the "enable-named-pipe" option) will render mysqld useless!
#
skip-networking

# Disable Federated by default
skip-federated
skip-bdb
# Replication Master Server (default)
# binary logging is required for replication
log-bin=mysql-bin

# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id = 1

# Replication Slave (comment out master section to use this)
#
# To configure this host as a replication slave, you can choose between
# two methods :
#
# 1) Use the CHANGE MASTER TO command (fully described in our manual) -
# the syntax is:
#
# CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=,
# MASTER_USER=, MASTER_PASSWORD= ;
#
# where you replace , , by quoted strings and
# by the master's port number (3306 by default).
#
# Example:
#
# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
# MASTER_USER='joe', MASTER_PASSWORD='secret';
#
# OR
#
# 2) Set the variables below. However, in case you choose this method, then
# start replication for the first time (even unsuccessfully, for example
# if you mistyped the password in master-password and the slave fails to
# connect), the slave will create a master.info file, and any later
# change in this file to the variables' values below will be ignored and
# overridden by the content of the master.info file, unless you shutdown
# the slave server, delete master.info and restart the slaver server.
# For that reason, you may want to leave the lines below untouched
# (commented) and instead use CHANGE MASTER TO (see above)
#
# required unique id between 2 and 2^32 - 1
# (and different from the master)
# defaults to 2 if master-host is set
# but will not function as a slave if omitted
#server-id = 2
#
# The replication master for this slave - required
#master-host =
#
# The username the slave will use for authentication when connecting
# to the master - required
#master-user =
#
# The password the slave will authenticate with when connecting to
# the master - required
#master-password =
#
# The port the master is listening on.
# optional - defaults to 3306
#master-port =
#
# binary logging - not required for slaves, but recommended
#log-bin=mysql-bin

# Point the following paths to different dedicated disks
#tmpdir = /tmp/
#log-update = /path-to-dedicated-directory/hostname

# Uncomment the following if you are using BDB tables
#bdb_cache_size = 384M
#bdb_max_lock = 100000

# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
innodb_log_group_home_dir = /var/lib/mysql/
innodb_log_arch_dir = /var/lib/mysql/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 6G
innodb_additional_mem_pool_size = 64M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 1500M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
default_storage_engine = InnoDB

transaction_isolation = REPEATABLE-READ


# Percentage of unwritten dirty pages not to exceed
innodb_max_dirty_pages_pct = 80

# Transaction commit policy
innodb_flush_log_at_trx_commit = 2

# Flush method
innodb_flush_method = O_DIRECT

# Number of concurrent threads to run
innodb_thread_concurrency = 16
# Enable fast innodb shutdown (skip full purge and insert buffer merge)
innodb_fast_shutdown = 1

# Dont delay insert, update and delete operations when purge
# operations are lagging
innodb_max_purge_lag = 0
innodb_file_io_threads = 8
[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[isamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

скомуннижен с my-huge.cnf для centos5

(C) ZonD80

SEO & Kinokpk.com releaser

Наконец-то дошли руки до поисковой оптимизации релизера, и первым делом решил взяться за чпу.
Чтож, в итоге написал класс для форматирования этих самых ссылок, но, столько работы для переделки всех ссылей в релизере. 1300+ ссылок. Это же пипец, товарищи)
Но ничего, уже функционирующий чпу можно посмотреть на http://www.megafreeload.com (это мой совместный проект с одним человеком)

А так, разработка движется и слава богу

(C) ZonD80

Оптимизация Kinokpk.com releaser

В общем. Сервак вис. Настроение мое не улучшалось от этого. Было решено куда-то деть таблицу snatched (это та, которая с 3.7кк записей). Она, сцука, при клинапе лочилась, таща за собой все остальные запросы, по этому, собсвенно, и была удалена следующая сточка из cleanup.php

mysql_query("UPDATE snatched SET seeder = 0 WHERE seeder = 1 AND last_action < $deadtime");

Да, именно это зло и ложило машину. Но это не все, на своем трекере-соцсети, http://www.torrentsbook.com , я пошел дальше. Дропнул поля, которые отвечают за то, когда последний раз юзверь сидировал при подключении к трекеру, и является ли он сидером сейчас.
Нафига, скажите мне, в истории 3кк торрентов держать такие частоизменяемые поля?
Вот и я о том же. Снесены: last_action, to_go, seeder из таблицы snatched, удалено всё, что их затрагивало из анонсера, а запросы в деталях юзверя переделаны на JOIN таблице peers… Конечно, джоин при больших объемах скачки займет порядка 3-7 секунд, но это простительно, если на такую страницу как история закачек юзверя заходят редко.

Также, я заменил все COUNT на SUM…. получилось быстро:) Но это все в угоду InnoDB, ибо при MyISAM мускул умирал от локов таблиц..

(C) ZonD80

Kinokpk.com releaser 3

Ну вот собственно сегодня дописывал историю пользователей на тбуке. Задолбался ужас как. Слава богу, взял наработки с других страниц, там оказались очень удобные запросы.
Так что для релизера версии 3 остается дописать просмотр созданных страниц, отображение в юзерхистори, к чему были сделаны комменты и, естественно инвайты в приватные релиз-группы!
WRYYYYYYYYYYYY!

(C) ZonD80